39

最近では、Linus Torvalds や Gitster から次のようなコミットをたくさん目にします。

Merge branch 'maint' of git://github.com/git-l10n/git-po into maint …
* 'maint' of git://github.com/git-l10n/git-po:
  l10n: de.po: fix a few minor typos

また:

Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst… …
…ream-linus

Pull MIPS update from Ralf Baechle:
...
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (22 commits)
  MIPS: SNI: Switch RM400 serial to SCCNXP driver
...

フォーク(または「プルリクエスト」)をマージするために使用するgit remotegit checkoutgit mergeについては知っていますが、そのようなメッセージを生成しません。なぜですか?そして、誰かがそれをどのように行うでしょうか(例を提供してください)?

PS: 私は Linus Torvalds のコミットなどのファンです。

PS:これは私がものをマージするために使用した方法です:

git remote add anotherremoot
git checkout -b anotherbranch
git pull remoteshortcut
...do tests...
git checkout master
git merge anotherbranch
git push

私が学んだ上記の例: http://viget.com/extend/i-have-a-pull-request-on-github-now-what

4

1 に答える 1

66

git pullリモートブランチを次の場所にプルするために使用するだけmasterです:

git remote add something git://host.example.com/path/to/repo.git
git checkout master
git pull something master

または、リモートを追加せずに実行します。

git pull git://host.example.com/path/to/repo.git

git pullリモート ブランチをフェッチし、それをローカル ブランチにマージします。可能であれば、早送りマージを実行します。これは、マージ コミットを生成せずに、現在のマスターを最新のコミットに更新することを意味します。しかし、両側に変更がある場合は、Linus と Junio が行っているように、リモート URL を含めてマージを行います。

早送りできたとしても、マージコミットを確実に取得したい場合は、git pull -no-ff. がマージ コミットを作成しないことを確認したい場合pull(両側に変更がある場合は失敗します)、 を実行しますgit pull --ff-only

Linus が提供する完全なログのように、より詳細なメッセージを含めたい場合は、git pull --log. 自動的に作成されたメッセージを使用する代わりに、メッセージを編集する場合は、 を使用しますgit pull --edit。その他のオプションについては、ドキュメントをgit pull参照してください。

于 2012-10-16T19:12:42.467 に答える