设为首页 加入收藏

TOP

Python开发【笔记】:git&github 快速入门(六)
2017-10-08 11:50:06 】 浏览:1896
Tags:Python 开发 笔记 git&github 快速 入门
alhost spider]# git branch * dev master

自动连接远程分支代码,如果远程仓库dev有代码更新,git pull 更新本地代码

 

2、解决冲突

人生不如意之事十之八九,合并分支往往也不是一帆风顺的。

准备新的feature1分支,继续我们的新分支开发:

[root@localhost spider]# git checkout -b feature
切换到一个新分支 'feature'

修改README.md最后一行,改为:

[root@localhost spider]# echo 'added this line from branch feature' >> README.md 

feature分支上提交:

[root@localhost spider]# git add README.md 
[root@localhost spider]# git commit -m 'add feature'
[feature 8880f27] add feature
 * [new branch]      feature -> feature
分支 feature 设置为跟踪来自 origin 的远程分支 feature。

切换到master分支:

[root@localhost spider]# git checkout master
切换到分支 'master'
您的分支领先 'origin/master' 共 2 个提交。
  (使用 "git push" 来发布您的本地提交)

Git还会自动提示我们当前master分支比远程的master分支要超前1个提交。

master分支上把README.md文件的最后一行改为:

[root@localhost spider]# echo 'added this line from master' >> README.md 

提交上传仓库:

[root@localhost spider]# git add README.md 
[root@localhost spider]# git commit -m 'mASTER UPDATE'
[master d735926] mASTER UPDATE
 1 file changed, 1 insertion(+)
   e886050..d735926  master -> master

现在,master分支和feature1分支各自都分别有新的提交,变成了这样:

这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突,我们试试看:

[root@localhost spider]# git merge feature
error: 'merge' is not possible because you have unmerged files.
提示:请先在工作区改正文件,然后酌情使用
提示:'git add/rm <file>' 标记解决方案,
提示:或使用 'git commit -a'。
fatal: Exiting because of an unresolved conflict

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

[root@localhost spider]# git branch
  dev
  feature
* master
[root@localhost spider]# git status
# 位于分支 master
# 您有尚未合并的路径。
#   (解决冲突并运行 "git commit")
#
# 未合并的路径:
#   (使用 "git add <file>..." 标记解决方案)
#
#	双方修改:     README.md
#
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

我们可以直接查看README.md的内容: 

# spider

forth commit
create a new branch
<<<<<<< HEAD
added this line from master
=======
added this line from branch feature
>>>>>>> feature

Git用<<<<<<<=======>>>>>>>标记出不同分支的内容,我们修改如下后保存:

# spider

forth commit
create a new branch
added this line from master
added this line from branch feature

再次提交:

[root@localhost spider]# git add README.md 
[root@localhost spider]# git commit -m 'conflict fixed'
[master 92fe979] conflict fixed
[root@localhost spider]# git push -u origin master
   d735926..92fe979  master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。

现在,master分支和feature分支变成了下图所示:

 

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

[root@localhost spider]# git log --graph --pretty=oneline
*   92fe979409a534673f7f35c3613f65dcd8e9660b conflict fixed
|\  
| * 8880f27f77477481232ab28fd1fe42cc87c33683 add feature
* | d73592620ebd7d368e0c4d7293ff228386fd243a mASTER UPDATE
|/  
*   9182888e813b69bf08f9eff5cd899b6a07861507 Merge branch 'dev'
|\  
| * 5a4ba4248b1b4982d48e570b1038c995e1e75ef0 Update README.md
* | e8860504de4b2975055943a353f6267d75984504 branch dev second
|/  
* fbbba8c24902b2c4e52e693dc7503b400012fe76 branch first
* 3d649257c8778c5a40f52cfad9a6acfbc59d26dc gitignore
* 1560f36d2ebb48a47c7db12cd0aedf88e3d2a0f9 conf commit
* 81a32a17078f92d290ea29a7bbc928e1b30bf501 third commit
* 40ac1cff6d9bc827c1c3d8dac2b3aa838e4dfe70 second commit
* daf94f4cf0919b
首页 上一页 3 4 5 6 7 下一页 尾页 6/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python文件系统功能:os模块 下一篇Python爬虫实战一之爬取QQ音乐

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目