我从A(主干)fork的,一段时间后我的fork behind于A,然后create pull request,然后在我的fork这里merge,之后我的fork就会自动ahead于A 1 个commit。。。
有没有人遇到和我一样的github问题,,,怎么办能自然同步于A
黄舟2017-04-28 09:06:59
fast-forward
でない限り、プル後に自動的にマージされ、マージごとにコミット レコードが生成されます。 fast-forward
,pull之后会自动merge,而每次merge就会产生一个commit记录。
解决办法:
假如你的repo只是晚于主干,没有不一样的commit,那么就是fast-forward
。这时候先pull
到本地上来,跟本地的内容merge在一起。这种情况不会产生额外的commit记录。然后再将本地代码push到自己的远程repo上。
如果不满足fast-forward
条件,那么需要pull --rebase
到本地,并完成rebase
操作。成功后再push
早送り
になります。このとき、まずローカル コンピューターに pull
を実行し、それをローカル コンテンツとマージします。この状況では、追加のコミット レコードは生成されません。次に、ローカル コードをリモート リポジトリにプッシュします。
fast-forward
条件が満たされない場合は、ローカルに pull --rebase
を実行し、rebase
を完了する必要があります。手術。成功したら、リモート リポジトリに push
を実行します。 🎜🎜
🎜
🎜添付ファイル: 「~~rebase~~ リベースする方法」に関する情報: https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request🎜过去多啦不再A梦2017-04-28 09:06:59
したがって、リベースを使用する必要があります...
ブランチで何も行わない場合、リベースであろうとマージであろうと、追加のコミットなしで、ブランチは A のヘッドと同じになります。
もちろん、自分で何かを変更した場合、完全に同期されることはありません。そうでない場合は、バージョン管理システムで懸命に作業する必要があります。
ただし、リベースとマージの違いは、マージはこの時点で新しい変更を作成するのに対し、リベースは新しい変更ログを作成せずに、このブランチの変更履歴を A の履歴に接続するだけであることです。