0=========拉取远程master得到本地master(在此上进行功能开发)
本地无master
git pull git@github.com:xxx/xxxx.git #得到本地master分支
Ⅰ=========本地功能开发
#开发feature1功能
(master)
git branch feature1 #创建功能开发分支
(master)
git checkout feature1 #进入xxx功能分支
(feature1)
编辑修改项目文件
................................
Ⅱ========本地融合(喜欢方法一,保留完整修改历史)
=======法一
=====本地master和本地编辑开发ing的feature1融合
(XXX)
git checkout master #进入本地master分支
(master)
git merge feature1 #本地feature1功能开发分支 融合进 本地master分支
(master|MERGING)
用文本编辑工具notepad,纠正文件冲突的地方
git add xxx #修改后的冲突后的文件,需要手动add进管理
(master)
git commit -m "添加功能1,合并,并解决冲突"
(master)
====本地master和远程master(等价于本地tmp)融合========= [ git fetch 拉取手动融合]
git fetch git@github.com:xxxx/xxx.git master:tmp #拉取远程master为本地tmp
(tmp)
git checkout master #进入本地master分支
(master)
git merge tmp #远程master(等价于本地tmp)融合进本地master
(master|MERGING)
用文本编辑工具notepad,纠正文件冲突的地方
git add xxx #修改后的冲突文件,需要手动add进管理
git commit -m "合并本地master和远程master,并解决冲突"
(master)
git branch -d tmp #最后删除tmp
(master)
==========法二 =========
=====本地master和本地编辑开发ing的feature1融合
(master)
git merger feature1
(master|MERGING)
用文本编辑工具notepad,纠正文件冲突的地方
(master)
git add xxx #修改后的冲突后的文件,需要手动add进管理
(master)
git commit -m "添加功能1,合并,并解决冲突"
(master)
====本地master和远程master(等价于本地tmp)融合========= [git pull 拉取并自动融合]
(master)
git pull git@github.com:xxxx/xxx.git
(master|MERGING)
用文本编辑工具notepad,纠正文件冲突的地方
(master)
git add xxx #修改后的冲突后的文件,需要手动add进管理
(master)
git commit -m "合并本地master和远程master,并解决冲突"
(master)
Ⅲ===上传本地master到远程master
git push -u origin master #将开发好的带有功能feature的本地master 上传到 远程master
git branch -d master #最后删除本地master
本地无master