- 前言
- Githug 安装和使用方法
- 关卡列表
- 第 1 关 init
- 第 2 关 config
- 第 3 关 add
- 第 4 关 commit
- 第 5 关 clone
- 第 6 关 clone_to_folder
- 第 7 关 ignore
- 第 8 关 include
- 第 9 关 status
- 第 10 关 number_of_files_committed
- 第 11 关 rm
- 第 12 关 rm_cached
- 第 13 关 stash
- 第 14 关 rename
- 第 15 关 restructure
- 第 16 关 log
- 第 17 关 tag
- 第 18 关 push_tags
- 第 19 关 commit_amend
- 第 20 关 commit_in_future
- 第 21 关 reset
- 第 22 关 reset_soft
- 第 23 关 checkout_file
- 第 24 关 remote
- 第 25 关 remote_url
- 第 26 关 pull
- 第 27 关 remote_add
- 第 28 关 push
- 第 29 关 diff
- 第 30 关 blame
- 第 31 关 branch
- 第 32 关 checkout
- 第 33 关 checkout_tag
- 第 34 关 checkout_tag_over_branch
- 第 35 关 branch_at
- 第 36 关 delete_branch
- 第 37 关 push_branch
- 第 38 关 merge
- 第 39 关 fetch
- 第 40 关 rebase
- 第 41 关 repack
- 第 42 关 cherry-pick
- 第 43 关 grep
- 第 44 关 rename_commit
- 第 45 关 squash
- 第 46 关 merge_squash
- 第 47 关 reorder
- 第 48 关 bisect
- 第 49 关 stage_lines
- 第 50 关 find_old_branch
- 第 51 关 revert
- 第 52 关 restore
- 第 53 关 conflict
- 第 54 关 submodule
- 第 55 关 contribute
- 附录 A Git 学习资源
- 附录 B Linux 常用命令
- 附录 C Vim 常用命令
第 28 关 push
Your local master branch has diverged from the remote origin/master branch. Rebase your commit onto origin/master and push it to remote.
你本地仓库的代码是由远程仓库的 origin/master 分支创建的。rebase 你的更新到 origin/master,然后提交到远程仓库。
当你和其他伙伴一起开发时,你们都从远程仓库把文件 clone 到本地,然后分头开发,再分头推送到远程仓库中,推送命令如下:
$ git push remote-name branch-name
$ git push -u remote-name branch-name
$ git push
第 1 条命令是把本地的文件推送到远程仓库,remote-name 是远程仓库名,branch-name 是分支名,如果你没有重命名过它们,那它们默认的名称分别是 origin 和 master;第 2 条命令加了一个 -u
参数,目的是让 Git 把 remote-name 和 branch-name 记住,下次就不用再写这 2 个参数了;第 3 条命令就是使用过 -u
参数以后的推送命令,不需要任何参数了。
多人开发时,推送是有先有后的,按照 Git 的规则,在你推送时如果已经有人比你早推送了,你若再推送就会收到一个 "non-fast forward" 的提示,直译就是“不能快进”。那么此时你至少有 2 种办法来解决:
方法一,先用 git pull
命令把远程仓库的最新代码合并到本地,然后再提交。这时本地的提交和远程的提交按时间顺序混合排列。
方法二,用 git rebase
命令把本地仓库的更新排到远程仓库更新之后,那这时候本地仓库的所有提交都排在远程仓库的最后一次提交之后。
本关考核的就是用 git rebase
方法来解决问题。
本关的场景是本地仓库有 3 次更新(分别名为 First commit, Second commit, Third commit),远程仓库有 1 次更新(名为 Fourth commit),在 rebase 并且 push 之后,远程仓库就会有 4 次更新了。
第 28 关过关画面如下:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论