learn git 廖雪峰GIT教材2 解决冲突&&分支管理策略
pipidi@pipidi-ThinkPad-E555:~/learngit$ git merge feature
Auto-merging learngit/readme.txt
CONFLICT (content): Merge conflict in learngit/readme.txt
Automatic merge failed; fix conflicts and then commit the result.
解决冲突
自动解决冲突失败,需要手动解决冲突并且注释result
Git用<<<<<<<
,=======
,>>>>>>>
标记出不同分支的内容,我们修改如下后保存:
Creating a new branch is quick and simple.
如果两个分支各自都有新的更改,这时将一个分支合并到当前分支会失败,GIT 只会显示两个文件各自的更改,需要人工进行处理分支。
用git log --graph
命令可以看到分支合并图。
pipidi@pipidi-ThinkPad-E555:~/learngit$ git push origin master
Counting objects: 17, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (17/17), 1.63 KiB | 0 bytes/s, done.
Total 17 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), done.
To git@github.com:xiantang/learngit.git
30de8d1..e53f0b8 master -> master
最后将 master 分支 传送到远程仓库
分支管理策略
使用 fast forward 会使用的是快速模式
无法回档,所以在合并分支的时候需要采用--no-ff
参数
可以强制禁用fast forward
在实际开发项目的时候 Master 版本为正式的版本 再创建一个测试的版本dev
平时开发修改在dev分支上进行 完成后可以将dev的版本合并到Master上
但是需要注意的是要增加-no-ff参数 防止Master 指针直接指向dev
----------------------------------------2/21----------------------------------------------------------------------
报错:fatal: remote origin already exists.
git remote rm origin
git remote add origin git@github.com:sheng/demo.git
先删后加 删除远程地址
---------------------------------------2/24--------------------------------------------------------------------
错误:Dealing with “non-fast-forward” errors
From time to time you may encounter this error while pushing:
1,强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容
git push -f origin dev