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安装
这个按照安装指南一步一步操作就好了
Git生成SSH-KEY
ssh-keygen -t rsa -f ~/.ssh/id_rsa_droi -C 'liuqing_hu@126.com'
会在.ssh文件加下生成两个文件 id_rsa_droi 和 id_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语法的网站