2015-10-14 27 views
19

Github(c)デスクトップアプリケーションの下にあるこの画像には、このボタン「このマスターの更新」(この場合)があります。私は誰かが洞察力を正確に持っているかどうか疑問に思っていたgitそれはトリガー機能します。主に興味があるのはまたはrebaseが使用されている場合です。 (私はログコンソールを見つけることができませんでした)。Githubデスクトップ: "<branch>から更新"ボタン

enter image description here

答えて

14

GitHubのデスクトップのボタンを基礎となるのgitコマンドは、十分に文書化されていませんので、私はしばらく前に調べました。私は、「Updateから...」ボタンを

git merge --no-ff -m "Merge <auto_text> <branch_name>" <branch_name> 

またはGitHubのデスクトップGUIに<branch_name>に設定し、「比較」の分岐とほぼ同じものを派遣することを結論付けました。私は、次のように結論に達し

まず、私はGitHubのアカウントにコントロールするリポジトリをフォーク。その後、GitHubアカウントからローカルマシンにリポジトリをクローンしました。次に、(元の)メインリモートリポジトリに小さな変更をコミットしました。最後に、git fetch <remote_name_assigned_to_main_repo>(以下、<remote_name>)を使用して、ローカルマシンに1回のコミットを行いました。このfetchの後、 "Update from ..."ボタンが点灯します。

これは、ローカルリポジトリ内のブランチチェックアウト(master)がメインリモートリポジトリのmasterの後ろにコミットされたシナリオを設定します。既定では、git merge <remote_name>は、早送りマージ(マージコミットなし)を生成します。

[email protected]{0}: merge <remote_name>/master: Merge made by the 'recursive' strategy. 

、マージがlogにコミット:

Merge remote-tracking branch '<remote_name>/master' 

(「再帰的 "Updateから..." ボタンを使用して

は、しかし、次reflogエントリになりました'戦略 "は... 1つのブランチを引っ張ったりマージする際のデフォルトのマージ戦略です。"

また、git rebase mi ghtはオプションでしたが、同じマージ動作を見ました。

+3

GitHubはこの設計を選択した可能性が高く、早送りマージやリベースが保守主義から優先される場合でもマージコミットが必要になります。 GitHub DesktopユーザーはGitの新機能となる可能性が高く、マージコミットは 'git revert 'で取り消すことができますが、早送りマージやリベースはできません。 – SoFarther

5

私はボタンの上に置くと、それが明示的にだけ、「支店」メニューに移動し、「現在のブランチにマージ...」を選択します

enter image description here

0

「からXXのコミットをマージする」と言いますあなたはあなたの "アップデート"を取得したいブランチです。

関連する問題