git安装和版本控制

1. git安装配置

(2)https://github.com/ 注册账户
(3)在Windows中安装完git后,需要进行以下配置:
打开 git bash,输入(用户名和邮箱用注册github的用户名和邮箱)
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
 
(4)检查以上设置是否正确,输入
$ git config --global --list

(5)查看历史信息 ,显示全部分支的历史
$ gitk --all

 
2. 创建版本库
(1)在想放项目源代码的位置创建一个目录(可以用命令行创建),并进入到这个目录,然后输入命令git init即可
通过pwd命令可显示当前目录,通过git init命令把这个目录变成Git可以管理的仓库
$ mkdir demo1
$ cd demo1
$ git init

(2)把文件添加到版本库的索引(index)
更新本地版本库( . 指当前所有目录及文件),也可以单独添加文件或目录,用 git commit提交到仓库
$ git add index.html 
$ git add .
$ git add readme.txt
$ git add src

(3)提交
(其中,-m的作用是本次提交留言,若是多条留言,可以继续添加-m "XXX")
$ git commit -m "备注"

(4)查看提交信息(-2表示查看最近的2条备注)
$ git log -2

(5)查看当前工作目录树状态

$ git status

3. 分支管理

(1)创建分支(git branch 两个参数:新分支和原分支)
$ git branch k0_1.1 master

(2)提交全部修改过的文件

$ git commit -a

(3)查看分支

$ git branch

(4)切换分支

$ git checkout k0_1.2

(5)创建 + 切换分支
第二条命令中的第三个参数,不是从当前分支而是从主分支上创建新分支即基于主分支的末梢创建新分支,也可以传其他的分支名,这样就可以在指定的任意分支上创建新分支。
$ git checkout -b k0_1.3
$ git checkout -b k0_1.4 master
(6)删除分支
$ git branch -d <name>

(7)合并分支到当前分支

$ git merge <name>

(8)更改分支名称 ,有三个参数,-m参数告诉git要执行分支移动(重命名)操作,另外两个参数分别是分支原名称和新名称。

$ git branch -m master mymaster

(9)显示本地版本库中所有的本地分支名称

$ git branch

4. 合并分支及处理冲突

4.1、合并分支
直接合并:首先切换到合并操作的目标分支,然后用git merge name1 其中,name1是指想要合并到当前分支的源分支名称。
压合合并:首先切换到合并操作的目标分支,然后用git merge --squash name1 将另一条分支上的全部提交压合成当前分支上的一个提交。此时,name1分支上的提交已经合并到当前工作区并暂存,但还没有作为一个提交提交到版本库中。再利用“正常”提交流程提交到版本库中即git commit……。
捡选合并:将一条分支上的一条提交合并到当前分支,git cherry-pick 321d76f其中,321d76f是提交的名称。
拣选合并多个提交时,利用git cherry-pick -n 321d76f 然后会提示finished one cherry-pick,请注意,完成本次拣选操作时git停了下来,而不是立即提交;接着可以进行下一个拣选操作,一旦拣选完需要的各个提交,就可一并提交改动。接下来继续进行提交操作,但不要使用-m参数,即git commit 编辑器会使用刚刚拣选的提交的提交留言,作为现在的提交留言。
4.2、合并发生冲突时,<<<<<<<<<<和>>>>>>>>>>代表两部分内容。第一,<<<<<<<<<<后面跟随的是当前分支中的代码,而>>>>>>>>>>之前的则是另一条分支上的代码。第二,在<<<<<<<<<<和>>>>>>>>>>行文件名之前,是所在分支的名称。
4.3、删除分支:
git branch -d name
但当分支未进行合并而要要删除时,需要用git branch -D name进行强制删除。
4.4、分支重命名
git branch -m contact contacts代表将分支名称改为contacts。
参数-m不会覆盖已有分支名称,所以新分支名称也即命令行中的第二个分支名称必须是唯一的,
将参数改为-M就可以覆盖已有分支名称了,但这种操作要小心使用。

参考文档: https://blog.csdn.net/ruingman/article/details/51398622
posted @ 2018-03-27 15:59  rachel5054  阅读(20)  评论(0)    收藏  举报