您的位置:首页 > 其它

【分布式版本控制Git】(三)Git的使用

2015-06-15 12:56 316 查看
参考自 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
1.初始化一个Git仓库,使用git init命令。

git init

2.添加文件到Git仓库,分两步:

第一步,使用命令git add <file> 可反复多次使用,添加多个文件;

git add readme.txt

第二步,使用命令git commit,完成。

git commit -m "add a new file"

3.git status命令可以让我们时刻掌握仓库当前的状态

git status

4.git diff 这个命令看看文件变化

git diff readme.txt

5.git log命令显示从最近到最远的提交日志

6.版本回退

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

git reset --hard HEAD^

或者

git reset --hard 3628164

版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

7.Git提供了一个命令git reflog用来记录你的每一次命令:

8.git checkout -- file可以丢弃工作区的修改:

git checkout -- readme.txt

9.场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

10.删除文件

一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:

现在,文件就从版本库中被删除了。

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

如果是rm删除,可以

$ git checkout -- test.txt

如果是git rm删除,则需要使用git reset HEAD <文件>撤出暂缓区,再使用git checkout -- test.txt恢复文件

11.分支管理

创建分支

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

12.解决冲突

当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

在两个分支上分别提交了不同的版本,再合并时会出现冲突

Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件

我们可以直接查看readme.txt的内容

修改之后再提交

用带参数的git log也可以看到分支的合并情况:

git log --graph --pretty=oneline --abbrev-commit


13.分支策略

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,
master
分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在
dev
分支上,也就是说,
dev
分支是不稳定的,到某个时候,比如1.0版本发布时,再把
dev
分支合并到
master
上,在
master
分支发布1.0版本;

你和你的小伙伴们每个人都在
dev
分支上干活,每个人都有自己的分支,时不时地往
dev
分支上合并就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: