git 常用情景示例
2018-07-08 本文已影响22人
7ccc099f4608
git 初始化
git init // git初始化
git pull -u origin master
git 第一次提交
git touch a.txt
vi a.txt // 并在其中写入 第一次编辑
git add .
git commit -m "第一次编辑"
git 新建一个分支
git checkout -b "a_br" // 新建并转到了分支a_br
vi a.txt // 写入 b分支无冲突编辑
git远程提交到新分支
语法:git push origin 本地分支:远程分支
(:
前后不能有空格),如果两分支相同,则可简写为git push origin 远程分支
git add . // 有空格
git commit -m "b分支无冲突"
git push origin a_br:a_br // 无空格,否则报错 error: dst ref refs/heads/a_br receives from more than one src.
测试简写
vi a.txt // 写入 b分支第二次无冲突
git add . // 有空格
git commit -m " b分支第二次无冲突"
git push origin a_br
git远程合并分支 a_br
到master
- 无冲突情况
git push origin a_br:master // 线上合并分支到master
git pull origin master:master // git pull 远程分支:本地分支,若相同则git pull origin master
2. 有冲突
先pull下来,进去修改冲突,再add、commit、push就好
- 拉取本地没有的分支(以develop分支为例),且不想更新/合并其他分支:
git checkout -b develop origin/develop
主要思想是先建新分支(-b),再复制线上分支
- merge代码,直接在主分支
git merge aBranch
然后红色的文件是有冲突的,并且用vim或者IDE进去后,能够发现
>>>>>>>>>Head
a
=========
b
<<<<<<<<<aBranch
其中,a是当前主分支的内容,b是aBranch的内容;正是二者的冲突导致了自动合并的失败,保留其一。
最后add、commit后push就好了