拉取与推送
参考:https://www.yiibai.com/git/git_pull.html
1. 拉取⚓
git pull <远程仓库名> <远程分支名>:<本地分支名>
只写一个分支名的话就表示远程分支名与本地相同。
1.1 基于 Rebase 的 Pull⚓
参考:https://github.com/geeeeeeeeek/git-recipes/wiki/3.2-%E4%BF%9D%E6%8C%81%E5%90%8C%E6%AD%A5
--rebase
标记可以用来保证线性的项目历史,防止合并提交(merge commits)的产生。很多开发者倾向于使用 rebase 而不是 merge,因为我想要把我的更改放在其他人完成的工作之后。
事实上,使用 --rebase
的 pull 的工作流是如此普遍,以致于你可以直接在配置项中设置它:
git config --global branch.autosetuprebase always # In git < 1.7.9
git config --global pull.rebase true # In git >= 1.7.9
在运行这个命令之后,所有的 git pull 命令将使用 git rebase
而不是 git merge
。
2. 推送⚓
与拉取的顺序相反,可以这样记忆顺序:拉取时将<远程分支>拉取到<本地分支>;推送时将<本地分支>推送到<远程分支>。
git push <远程仓库名> <本地分支名>:<远程分支名>
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支:
$ git push origin :master
# 等同于
$ git push origin --delete master