我在某个时候开始使用git,并没有完全理解错综复杂.我在这里的基本问题是找出a git pull和之间的区别git pull --rebase,因为添加--rebase选项似乎没有做一些非常不同的事情:只需要拉动.
请帮助我理解差异.
另外一个问题说,git pull就像是一个git fetch+ git merge.
但是git pullVS git fetch+有git rebase什么区别?
是否可以以git pull --rebase交互模式运行命令(如git rebase -i)?
开始情况(没有未按下的更改,>表示当前分支):
o C [> master][origin/master]
|
o B
|
o A
|
...
Run Code Online (Sandbox Code Playgroud)
在git fetch日志结构经常看起来像
o E [origin/master]
|
o C'
|
o B'
|
o D
|
| o C [>master]
| |
| o B
|/
o A
|
...
Run Code Online (Sandbox Code Playgroud)
现在git rebase origin/master master经常会产生冲突.是git pull --rebase更聪明,只是使用git reset使master也指出E,如果master== origin/master开始?
我知道那里 有 很多的分支同步的问题,和差 之间的git的命令,但我发现很难知道什么是这个正确的过程。
我是 GitHub 上一个存储库的维护者。我团队中的一名成员克隆了该存储库,创建了一个new-feature分支,将该new-feature分支推送到 GitHub 存储库,并创建了一个拉取请求以将其合并到master. 我批准了拉取请求并将其合并到masterGitHub 网站上。
将这个“新主”拉下来以更新我的本地存储库以便我的本地目录同步、干净且无需重写任何历史记录的正确过程是什么?
git pull--> 本质上是git fetch然后git merge...进入我所在的分支?git pull --rebase--> 本质上是一个git fetchthen git rebase?git fetch然后git merge origin/master--> 与选项 1 相同?git fetch然后git rebase origin/master--> 与选项 2 相同?