• Zi-O
    2019-05-22
    如果要重写根提交(第一个提交),它并没有父节点,该怎么办?在提交列表中,可以手工将根提交添加进来。更简单的方式是使用 `git rebase -i --root` 命令,该命令允许你在分支上变基根提交。也就是说,Git 提供的提交列表会包含从根提交直到当前提交的所有提交。

    作者回复: 👍

    
     4
  • 小磊子
    2018-12-22
    光标圆圈怎么弄的,什么主题

    作者回复: 我也是参加视频录制,极客老师教的。mac上安装PinPoint

    
     3
  • Masami
    2019-10-20
    我想知道老师在进入git rebase i的交互界面时,是按什么键返回上一页拷贝根commit的

    作者回复: 再打开一个窗口看根commit会更好

     1
    
  • Kian.Lee
    2019-07-09
    老师好,按照您上节课的逻辑,多个 commit 在第一次 git rebase 的时候是要编辑好保存下来,为什么在这节课的时候您把修改好的 rebase 给剪切(或者删除)了呢?

    作者回复: 不好意思,没读懂你的问题。
    17讲我们演示了把连续的4个commit整理成1个commit,18讲我们把间隔的两个commit整理成了1个commit。

    
    
  • Jamaz
    2019-06-04
    老师,用rebase -i来重放,即使本地没有改动,为什么需要把其他分支合并时已经解决过的冲突重新解决一遍?

    作者回复: 没明白问题。如果有图示说明一下就好了。

    
    
  • 五月
    2019-01-17
    我照着视频下来,输入git rebase --continue 出现下面的情况,请问是为什么?
    $ git rebase --continue
    Auto-merging index.js
    CONFLICT (content): Merge conflict in index.js
    error: could not apply aab62bf... 3

    Resolve all conflicts manually, mark them as resolved with
    "git add/rm <conflicted_files>", then run "git rebase --continue".
    You can instead skip this commit: run "git rebase --skip".
    To abort and get back to the state before "git rebase", run "git rebase --abort".

    Could not apply aab62bf... 3
    展开

    作者回复: 冲突解决后,记得先 git add,在git rebase --continue

    
    
  • 陈英智
    2018-12-27
    老师,操作完第一步以后,后悔了不想continue了该如何操作?

    作者回复: git rebase --abort

    
    
  • Jeff
    2018-12-26
    老师,如果不连续的commit不包括那个祖宗commit信息,打开的交互界面的信息是不是就可以直接更改pick\squash,调整他们的顺序就可以了?

    还有,我打开交互界面以后,无法移动光标以及正确退出交互界面.按ESC键 冒号 也不可以在下面输出wq退出.是这个交互界面还有操作技巧吗?

    作者回复: 第一问,你说的对的。
    第二问,在中文输入状态下,这些操作都不灵了。你切英文试试

    
    
  • 灬 黑 礼服 ~
    2018-12-25
    按照操作步骤执行:
    $ git rebase -i 412cf8956b0
    interactive rebase in progress; onto 412cf89
    Last command done (1 command done):
       pick 412cf89
    Next commands to do (2 remaining commands):
       squash 26f91ae
       pick d2672bf create a complete web page
    You are currently rebasing branch 'master' on '412cf89'.

    nothing to commit, working tree clean
    The previous cherry-pick is now empty, possibly due to conflict resolution.
    If you wish to commit it anyway, use:

        git commit --allow-empty

    Otherwise, please use 'git reset'
    Could not apply 412cf89...
    上面报错:
    按照提示进行执行:
    $ git reset 将当前头重置为指定状态

    查看状态:
    $ git status
    interactive rebase in progress; onto 412cf89
    Last command done (1 command done):
       pick 412cf89
    Next commands to do (2 remaining commands):
       squash 26f91ae
       pick d2672bf create a complete web page
      (use "git rebase --edit-todo" to view and edit)
    You are currently editing a commit while rebasing branch 'master' on '412cf89'.
      (use "git commit --amend" to amend the current commit)
      (use "git rebase --continue" once you are satisfied with your changes)

    nothing to commit, working tree clean

    按照上面的最后一个提示执行命令操作:
    $ git rebase --continue
    [detached HEAD 025e988] add readme.md
     Date: Tue Dec 25 10:40:05 2018 +0800
     1 file changed, 1 insertion(+)
     create mode 100644 readme.md
    Successfully rebased and updated refs/heads/master.

    最后结果如下:
    $ git log --graph
    * commit 49f3cf97cbe396469641a43569ea7b4dd38b2edf (HEAD -> master)
    | Author: zhangdan <1375666272@qq.com>
    | Date: Tue Dec 25 10:54:24 2018 +0800
    |
    | create a complete web page
    |
    | add index + logo
    |
    | add style.css
    |
    | add js
    |
    | add a pro
    |
    * commit 025e988b6516bf97db8bf14aa56ea7ab1a2ab1b7
      Author: zhangdan <1375666272@qq.com>
      Date: Tue Dec 25 10:40:05 2018 +0800

          add readme.md

          add readme

          move file readme to readme.md
    展开

    作者回复: 嗯,多实践,看看结果是不是自己想要的。

    
    
  • 唯她命
    2018-12-18
    合并 不连续的commit 没有成功过,一直提示有冲突

    作者回复: 冲突属于正常现象,git需要我们自己选择哪一行用哪个变更的内容。只要把有冲突的地方解决掉,就能继续整理commit了。

    
    
  • 有铭
    2018-12-16
    完全没理解把几个不连续的commit整合到一起这个过程和最终的效果,不连续的commit整合到一起后,原本插在这些被整合的commit中间的,那些没被整合的commit,该如何自处?是排在新commit之前吗,时间顺序不奇怪吗

    作者回复: rebase -i的时候,弹出的交互界面,上下commit的顺序是有讲究的,先处理上面的,再处理下面的commit。原先历史树上的commit顺序是可以根据自己的需求调整的。

    git的掌握还是需要多实践的,用来演练的git仓库,尽可能多操练,反正试错了又没损失。

    
    
  • 一步
    2018-12-15
    老师 执行 git rebase 多了话,会使的提交树感觉很乱,能不能系统的讲解一下 rebase 原理。方便理解提交树

    作者回复: 👌,我用动态演变图加具体操作结合着讲

    
    
  • Vee
    2018-12-14
    团队合作的代码,还可以修改之前的commit吗?

    作者回复: 除非团队一致决定要改,否则不允许。如果想取消以前的commit变更的内容,可以通过revert的方式。

    
    
  • 小美
    2018-12-14
    老师用 -s 改变顺序并且合并 我理解应该会产生冲突的,不知道老师能从底层原理讲解下冲突的情况吗?

    作者回复: 咱们为了给新手演示squash的功能,故意做了这个小设计。这个视频有一个commit是创建新文件,另一个commit是变更文件名(并未变更文件内容),所以就不会出现内容冲突了。

    咱们以后的课程对rebase冲突及解决步骤会详细做演示

    
    
我们在线,来聊聊吧