Ubuntu下使用Git_4

27 篇文章 1 订阅
7 篇文章 0 订阅

在这个第四个文章中,我将练习GIT的高级阶段了,由于高级阶段的内容转的比较多,我自己的代码除了我自己可以看懂意外,大家可能看不懂,所以我将会按照

http://git.wiki.navisec.it/stepup/stepup2_1.html这里教程里面的内容进行一次截图演示

按照教程,我讲先新建一个文件夹,作为本地数据库

 

$ mkdir tutorial
$ cd tutorial
$ git init 

 

 

 

 

本地数据初始化完毕

下一步就是新建一个文件

 

剩下步骤就是吧这个文件添加到git的索引下,并且提交

下一步就是建立分支

按照教程来

 

$ git branch issue1
$ git branch 


下一步,切换分支

 

 

$ git branch issue1
$ git branch
$ git checkout issue1 


 

 

 

 

 

下一步合并分支

删除分支

 

 

 

 

 

下面是最重要的了,就是两个人同时开发的时候,在合并分支的时候,出现合并冲突怎么解决了

 

和前面的差不多了

现在在issue2中编辑文件,切换到issue3中编辑文件

 

下面就是切换到 master分支下合并文件

 

 

可以看到,我们可以顺利合并issue2,但是在合并issue3的时候提示内容冲突

 

 

这里我们只需要打开文件,手动除了一下冲突就好

 

完成合并

 

 

 

还有一种合并方式,这里实践一下

还原issue3的合并

 

 

切换到issue3下面

 

合并的时候,会发现有冲突

下面直接打开就好 

下面贴上我的所有操作记录

 

 

dreamlife@Ubuntu:~$ mkdir tutorial
dreamlife@Ubuntu:~$ cd tutorial
dreamlife@Ubuntu:~/tutorial$ git init 
初始化空的 Git 仓库于 /home/dreamlife/tutorial/.git/
dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt
dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt
dreamlife@Ubuntu:~/tutorial$ 
dreamlife@Ubuntu:~/tutorial$ 
dreamlife@Ubuntu:~/tutorial$ 
dreamlife@Ubuntu:~/tutorial$ git add myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git commit -m"firs commit"
[master (根提交) 124808a] firs commit
 1 file changed, 1 insertion(+)
 create mode 100644 myfile.txt
dreamlife@Ubuntu:~/tutorial$ git status 
位于分支 master
无文件要提交,干净的工作区
dreamlife@Ubuntu:~/tutorial$ git log
commit 124808ac46c33bd91f5c3c7b7f9327f71c01f80e
Author: DreamLife <dream_dag@163.com>
Date:   Sun Sep 11 13:45:49 2016 +0800

    firs commit
dreamlife@Ubuntu:~/tutorial$ git branch issue1
dreamlife@Ubuntu:~/tutorial$ git branch 
  issue1
* master
dreamlife@Ubuntu:~/tutorial$ git checkout issue1 
切换到分支 'issue1'
dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git add myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git commit -m"添加add的说明"
[issue1 0151f5d] 添加add的说明
 1 file changed, 2 insertions(+)
dreamlife@Ubuntu:~/tutorial$ git status 
位于分支 issue1
无文件要提交,干净的工作区
dreamlife@Ubuntu:~/tutorial$ git log 
commit 0151f5d61c0cb286bbd40f70446df6a8d18e91de
Author: DreamLife <dream_dag@163.com>
Date:   Sun Sep 11 13:52:07 2016 +0800

    添加add的说明

commit 124808ac46c33bd91f5c3c7b7f9327f71c01f80e
Author: DreamLife <dream_dag@163.com>
Date:   Sun Sep 11 13:45:49 2016 +0800

    firs commit
dreamlife@Ubuntu:~/tutorial$ git checkout master 
切换到分支 'master'
dreamlife@Ubuntu:~/tutorial$ git merge issue1 
更新 124808a..0151f5d
Fast-forward
 myfile.txt | 2 ++
 1 file changed, 2 insertions(+)
dreamlife@Ubuntu:~/tutorial$ git status 
位于分支 master
无文件要提交,干净的工作区
dreamlife@Ubuntu:~/tutorial$ git log 
commit 0151f5d61c0cb286bbd40f70446df6a8d18e91de
Author: DreamLife <dream_dag@163.com>
Date:   Sun Sep 11 13:52:07 2016 +0800

    添加add的说明

commit 124808ac46c33bd91f5c3c7b7f9327f71c01f80e
Author: DreamLife <dream_dag@163.com>
Date:   Sun Sep 11 13:45:49 2016 +0800

    firs commit
dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git  branch -d issue1 
已删除分支 issue1(曾为 0151f5d)。
dreamlife@Ubuntu:~/tutorial$ git branch 
* master
dreamlife@Ubuntu:~/tutorial$ git branch issue2
dreamlife@Ubuntu:~/tutorial$ git branch issue3
dreamlife@Ubuntu:~/tutorial$ git checkout issue2
切换到分支 'issue2'
dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt 
dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git add myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git commit -m "添加commit说明"
[issue2 ca3b9a4] 添加commit说明
 1 file changed, 2 insertions(+)
dreamlife@Ubuntu:~/tutorial$ git checkout issue3
切换到分支 'issue3'
dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git add myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git commit -m "添加pull的说明"
[issue3 6f118ad] 添加pull的说明
 1 file changed, 2 insertions(+)
dreamlife@Ubuntu:~/tutorial$ git checkout master 
切换到分支 'master'
dreamlife@Ubuntu:~/tutorial$ git merge issue2
更新 0151f5d..ca3b9a4
Fast-forward
 myfile.txt | 2 ++
 1 file changed, 2 insertions(+)
dreamlife@Ubuntu:~/tutorial$ git merge issue3
自动合并 myfile.txt
冲突(内容):合并冲突于 myfile.txt
自动合并失败,修正冲突然后提交修正的结果。
dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git add myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git commit -m "合并issue3分支"
[master c42c43a] 合并issue3分支
dreamlife@Ubuntu:~/tutorial$ git reset --hard  HEAD`
> ^C
dreamlife@Ubuntu:~/tutorial$ git reset --hard  HEAD~
HEAD 现在位于 ca3b9a4 添加commit说明
dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git che
checkout      cherry        cherry-pick   
dreamlife@Ubuntu:~/tutorial$ git checkout issue3
切换到分支 'issue3'
dreamlife@Ubuntu:~/tutorial$ git rebase master 
首先,回退分支以便在上面重放您的工作...
应用:添加pull的说明
使用索引来重建一个(三方合并的)基础目录树...
M	myfile.txt
回落到基础版本上打补丁及进行三方合并...
自动合并 myfile.txt
冲突(内容):合并冲突于 myfile.txt
error: 无法合并变更。
打补丁失败于 0001 添加pull的说明
失败的补丁文件副本位于:.git/rebase-apply/patch

当您解决了此问题后,执行 "git rebase --continue"。
如果您想跳过此补丁,则执行 "git rebase --skip"。
要恢复原分支并停止变基,执行 "git rebase --abort"。

dreamlife@Ubuntu:~/tutorial$ gedit myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git add myfile.txt 
dreamlife@Ubuntu:~/tutorial$ git rebase --continue 
应用:添加pull的说明
dreamlife@Ubuntu:~/tutorial$ git checkout master 
切换到分支 'master'
dreamlife@Ubuntu:~/tutorial$ git merge issue3
更新 ca3b9a4..15c5986
Fast-forward
 myfile.txt | 4 ++++
 1 file changed, 4 insertions(+)
dreamlife@Ubuntu:~/tutorial$ 
dreamlife@Ubuntu:~/tutorial$ 


在合并冲突这个地方,我联系了好多次,大家也可以多联系几次,这里还是希望大家看下链接中内容,真的写的很好

 

http://git.wiki.navisec.it/stepup/stepup2_8.html

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DreamLife.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值