2

Git与GitLab使用入门指南

之前基本上都是使用SVN进行版本控制,最近公司内计划将版本控制迁移到Git,并使用GitLab作为项目仓库

本文主要结合Git与GitLab来进行基本配置和使用,而Git工具的语法规则不在本文讨论范围内,如有需要请自行查阅语法手册

本文目录结构

1、 Git工具
2、 Git安装
3、 Git生成SSH KEY
4、 GitLab设置SSH KEY
5、 初始化项目
6、 编写忽略控制的文件 .gitignore
7、 git 核心概念简析
7.1 、 工作区
7.2 、 版本库
7.3 、 暂存区
7.4 、 管理修改
8、 远程仓库
9、 项目添加到远程仓库
10、 项目推送到远程仓库
11、 提交权限设置
附录: 一些资源

Git工具

git官网
Windows Git下载

Git安装

这个按照安装指南一步一步操作就好了

Git生成SSH-KEY

ssh-keygen -t rsa -f ~/.ssh/id_rsa_droi -C 'liuqing_hu@126.com'

会在.ssh文件加下生成两个文件 id_rsa_droiid_rsa_droi.pub,其中id_rsa_droi.pub文件就存放着我们需要的SSH-KEY

GitLab设置SSH-KEY

设置路径 :Profle Settings > SSH Keys

初始化项目

当前我们的项目都是使用SVN进行版本控制,并且几乎所有项目都是处在上线或维护状态,即不是一个空项目(当然一个新建的项目操作也是一样的)

第一步要做的就是初始化项目,进入项目目录后,执行命令
git init
便可以对项目使用Git进行管理

编写忽略控制的文件 .gitignore

一般项目中有一些缓存或配置文件,我们不想对他们进行管理,此时我们可以将这些文件加入到.gitignore文件中

1、使用Git Bash工具创建.gitignore
执行命令touch .gitignore

2、.gitignore语法
gitignore语法

示例

# Windows: 这是一个注释,以下三行为忽略控制的文件
Thumbs.db
ehthumbs.db
Desktop.ini

Git 核心概念简析

请看这篇文章

Git核心概念之の作区域和文件状态

工作区(Working Directory) 、 暂存区(Staging Area) 、 远程仓库或版本库(.git directory | Repostory)

请阅读《工作区和暂存区

工作区

就是项目的文件目录(电脑里能看到的目录),所有修改和变更状态都是发生在工作区

请再次阅读《工作区和暂存区

版本库

工作区有一个隐藏目录.git,这个就是Git的版本库。其中Git版本库里有个很重要的信息就是暂存区

请再次阅读《工作区和暂存区

暂存区

请再次阅读《工作区和暂存区

管理修改

了解完工作区和暂存区的基本概念后,基本上我们就开始干活了,当工作区文件有修改时,我们需要将这个修改添加到暂存区git add modify.file,后一步就是将暂存区的文件提交到当前分支的Git版本库git commit -m "[modify] some change"


一切运行的很完美,我们现在基本上能够使用Git来进行项目管理了,但是还差
最后一步就是将本地项目PUSH到远程仓库,这样别的小伙伴才能够clone和pull
我们的项目

远程仓库

到目前为止,我们所有的工作都是在本地机器上完成的,而我们公司已经为我们创建好了代码托管服务GitLab,所以现在我们要做的就是将本地项目添加并PUSH到远程仓库GitLab。在开始之前,还记得我们生成的SSH-KEY么?不要忘记在GitLab设置好。

将项目添加到远程仓库

语法git remote add <shortname> <url> 将添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写

TestGit项目举例(这是一个示例,请替换成自己的提交地址)
git remote add origin http://gitlab.test.com/huliuq...

将项目推送到远程仓库

将本地项目添加到远程仓库后,就可以把项目PUSH到远程仓库,这边其他小伙伴便可以访问项目更新

语法git push [remote-name] [branch-name]

TestGit项目举例
第一次推送使用 git push -u origin master ,之后可以使用 git push origin master

提交权限设置

一般情况下,我们都是需要帐号密码授权才能够想远程仓库PUSH更新的,我不是很喜欢配置全局的帐号信息到Git配置里。这又带来一个问题,每次我们提交更新的时候都需要输入帐号或者密码,很麻烦。

有什么办法可以解决这个问题呢?就是需要用到凭证存储这个功能

进入到我们工作的项目目录后,在Git Bash工具下输入
git help -a | grep credential-查找相关权限选项

一般会看到credential-store之类的选项。

接下来输入git config credential.helper store便会把我们PUSH的帐号密码信息给存储到.git/config文件中

当我们再次向远程仓库PUSH更新时,当前项目便不会在需要我们录入帐号或密码数据了

可以使用git help credential-store查看帮助信息


一些资源

Documentation 这是一个语法大全

Git教程 史上最浅显易懂的Git教程

try git 一个在线练习Git语法的网站

如何同一台电脑配置多个git或github账号

Git常用命令


柳公子
3.3k 声望1.5k 粉丝

学以致用,边学边用