版本控制(Revision Control) 在开发的过程中,记录文件、目录、工程等内容的变更历史,方便在以后查看、更改或回滚到先前的状态。
Git是一个开源、分布式的版本控制系统,可以方便、有效地管理不同规模项目的代码版本。它最初是由Linux创始人Linus Torvalds为了管理Linux内核代码而开发的。
本次分享主要分为3个部分。第1部分借助一个演示项目,旨在帮助读者快速掌握Git的日常使用;第2部分给出Git常用命令的手册,方便大家在需要的时候查询;第3部分给大家介绍分支管理的常用模型。
Git几个概念。
- 3个工作区
工作区(Working Dir): 是指开发过程中,代码创作所在的本机目录;
暂存区(Staging Index): 临时保存工作区与版本库之间差异的缓冲地带;
版本库(Repository): 可看做记录提交历史的地方。
- 2个仓库
本地仓库(Local Repo): Git作为分布式的版本管理系统,会为每个项目,在工作电脑上生成一个本地仓库。当我们通过git commit提交代码时,实际上就是将更改从本地工作目录提交到了本地仓库。
远程仓库(Remote Repo): 在远程服务器(如Github、Gitlab)上建立的仓库。当我们使用git push推送代码时,代码就从本地仓库推到了远程仓库。
Git全局设置
# 设置代码提交者的用户名
git config --global user.name "chenqi"
# 设置代码提交者的邮箱
git config --global user.email "chenqi@deeptest.com"
注:请将用户名和密码替换成您自己的。
克隆项目代码
执行以下命令,克隆演示项目到当前目录;
git clone https://gitee.com/ngtesting/ci_test_pytest.git
进入目录ci_test_pytest,使用branch指令查看远程仓库的分支列表;
git branch -r origin/dev origin/master
使用branch指令查看本地仓库中的分支,前面有星号的为当前工作分支;
git branch dev * master
代码修改和提交
新建一个名为test2.txt的文件,使用add指令添加到版本控制;
git add test2.txt
- 修改名为原有test.txt文件的内容;
使用commit指令,提交修改;
$ git commit -m "update files" [master 97903e8] update files 2 files changed, 1 insertion(+) create mode 100644 test.txt create mode 100644 test2.txt
使用push指令,推送修改到远程;
$ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (4/4), 301 bytes | 301.00 KiB/s, done. Total 4 (delta 1), reused 0 (delta 0), pack-reused 0 remote: Powered by GITEE.COM [GNK-6.4] To https://gitee.com/ngtesting/ci_test_pytest.git 6efcdee..97903e8 master -> master
共享新项目到远程仓库
- 在Gitee网站注册一个账号后登录;
- 进入新建仓库页面,创建一个新项目;
打开命令行窗口,执行以下命令,新建一个项目并初始化;
mkdir new_project cd new_project git init
新建1个文件,将其加入版本控制;
touch README.md git add README.md git commit -m "first commit"
设置项目远程仓库地址,并推送代码到远程;
git remote add origin https://gitee.com/ngtesting/new_project.git git push -u origin "master"
注:此处URL需替换成您新建的仓库地址
开源上述Gitee项目使公众可见
- 在该项目详情页,点击管理,进入项目管理标签页;
- 滚动到页面底部,设置项目为开源(所有人可见)。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。