git流程:
git init --bare
git checkout -b develop
git checkout -b feature1
feature1:
git add .
git commit -m "xxx"
git push origin feature1 # 等价于git push origin feature1:feature1
( $ git pull <远程主机名> <远程分支名>:<本地分支名>
git push origin 本地分支:远端希望创建的分支 )
git branch --set-upstream-to=origin/feature1 #设置feature1推送到远程feature1
git push #设置了上一条可以直接push
第一种做法
git checkout develop #在develop分支上,其他人已经commit过 也push过了。
git merge feature1 #分支难看 会有冲突
第二种做法(推荐)
git rebase master #此时在feature1分支 将rebase大体理解为merge 只不过调整了commit顺序的merge
上述指令将master分支的修改插入进来,feature1分支的修改放在最后,所以commit线路就很顺了。
可能遇到如下error:
Cannot rebase: You have unstaged changes.
Please commit or stash them.
git stash #暂存一下内容 git stash pop可以弹出内容
git checkout develop
git merge feature1
git branch rename:
git branch -m master psoc
把master 改为psoc
git tag
git tag -a "v1.0" -m "xxx" commitid
git branch -d feature1 #删除本地分支
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。
$ git push origin :master
# 等同于
$ git push origin --delete master
上面命令表示删除origin
主机的master
分支。