GitHub for Windowsの「同期」は何をしますか?


87

GitHub for Windowsを使用すると、ブランチを「公開」してから、そのブランチをGitHubに「同期」できます。

ここに画像の説明を入力してください

同期は基本的にgit pullgit pushですか?それともそれ以上のものがありますか?コマンドラインから「同期」とまったく同じ手順を実行したい場合は、どうすればよいですか?

(それはオープンソースではありません、または私はそれを読んだだけです。)

回答:


52

同期は実行されgit pull --rebase、ローカルの変更がある場合は実行されgit pushます。

ここから:http//haacked.com/archive/2012/05/21/introducing-github-for-windows.aspx#87318


2
リベースステップ中に競合が発生した場合はどうなりますか?
Svante 2013

26
@Svanteは失敗するだけで、混乱を整理するためにシェルを開くことを提案します。これが私がこのページに
たどり着いた

8
これはまだ本当ですか?同期を実行したところ、マージコミットが発生しました。これは、フローが次の場合には発生しないはずです。gitpull --rebase; git push
Micah Zoltu 2013年

@Michas Caldwellのコメントについて何か説明はありますか?彼は正しいと思いますか?
benchuk

Syncを押すと、git pullではなくが実行されたことを確認できますgit pull --rebase。したがって、... commitの追加のMergeブランチ 'master'が作成されます
レオ

42

上記の回答は2年以上前のものであるため、この質問に対する更新された回答は次のとおりです。リベースのバグが原因で、[同期]ボタンが機能しなくなりましたgit pull --rebase。代わりに、それはありませんgit pullでしょうどのマージを本によると、競合がある場合は、リリースノート(リリース1.3.0を参照します)。

上記のリンクは現在利用できません。これが新しいリリースノートです。


2
実際、それは完全には真実ではありません。リベースが機能しない場合にのみ、マージを試みます。
Joris Meys 2015年

リリースノートのリンクが壊れています。
skolima 2016年

2
@JorisMeysあなたの発言が正しいかどうかはわかりません。ある場合、私の経験では、任意の先に私のリモコンのコミットが、それはリベースを行うことができた場合でも、コミットマージを作成します。
ジェラドローズ2016

@JeradRoseコメントを書いたとき、私たちはGithub Desktopv。2.xにいましたが、今では3.3になっています:-)しかし、その通り、私は同じことに気づきました。
Joris Meys 2016

17

「同期」とは、ローカルブランチをリモートブランチと一致させるために必要なアクションです。ローカルブランチにリモートブランチにはないコミットがあった場合、「同期」によってブランチがプッシュされます。リモートブランチがローカルブランチよりも前にある場合、「sync」が最初にプルされます(具体的にはgit pull --rebase、Phil Haackが説明したように)。「同期」は、ローカルとリモートが相互にミラーリングするためのショートカットにすぎません。

GitHubサイトから:

The sync button turns the complex workflow of pulling and pushing into a single operation. It notifies you when there are new changes to pull down and lets you quickly share local changes.


プルするだけでなく、「git pull--rebase」も実行します。これは決定的な違いです。また、順番が間違っているので、押す前に引っ張ってください。
Andiih 2013

2
@Andiih私の言語は一般化されており、操作の順序付きリストではありません。順序が暗示されていました-「リモートブランチローカルブランチより進んでいた場合」と言っていることに注意してください。私の説明もGitHubサイトからの直接の引用でした。とにかく、Matt Rixの答えはより詳細であり、答えとしてマークする価値があります。答えの混乱を明確にするために、いくつかの小さな編集を行いました。
redhotvengeance 2013

github syncは、オリジンに加えて、アップストリームの変更もフェッチしますか?つまり、レポを作成し、フォークのローカルクローンを作成しました。本当に必要なのは、オリジンだけでなく、アップストリームからの変更です
AaronLS 2013

1
@AaronLS GitHub for Windowsは、現時点では1つのリモートでのみ動作するように構築されていますorigin。複数のリモートを操作するには、コマンドラインを使用する必要があります。関連情報は、ここの「複数のGitリモートと非GitHubリモート」にあります。
redhotvengeance 2013

4

@ethanyangの答えに追加するには、

gitconfigで構成されたエイリアスによると、

[alias]
...
sync = !git pull && git push

4
好奇心から、何を!上記の行の意味ですか?
スコットロマック2016

@ScottRomackそれがシェルコマンドとして扱われますことを意味しますstackoverflow.com/questions/21083933/...
ニコラスHolthaus

GitHubデスクトップにはこのエイリアスがすでに設定されていますか?もしそうなら、この設定はどこにありますか?グローバルにこのエイリアスが表示されませんでした.gitconfig。それとも、これはあなた自身の単なるオーバーライドですか?
ジェームズ2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.