1

私は通常、次のようにローカル ブランチを更新します。

$ git fetch

$ git status
# On branch develop
# Your branch is behind 'origin/develop' by 1 commit, and can be fast-forwarded.
#
nothing to commit (working directory clean)

$ git merge --ff-only origin/develop

リモートブランチに名前を付けずに最後のコマンドを書く方法はありますか? git ステータスから、現在のブランチが origin/develop を追跡していることを git が認識していることは明らかです。だから私は次のようなものを探しています:

$ git merge tracking

その理由は、前後に切り替えるときに間違ったブランチを入力しやすいからです (ご覧--ff-onlyのとおり、ここではセーフガードとして使用しています)。

4

2 に答える 2

3

オプションmerge.defaultToUpstreamを true に設定します。

git config merge.defaultToUpstream true

そして、マージしたいコミットを省略することができます:

git merge --ff-only
于 2012-12-12T09:39:17.900 に答える
2

develop@{upstream}または短い方を使用develop@{u}して、ブランチのアップストリームとして設定されているブランチを参照できますdevelop。前にブランチ名が指定されていない場合は、@デフォルトで現在のブランチが使用されるため、そのブランチにいる間は、だけを使用できます@{u}

これらのタイプの参照は、マージだけでなく他のコマンドでも機能します。たとえば、コマンドを使用したマージによって適用されるコミットのリストを取得できます。

git log ..@{u}

これは、 gitrev-parseのマニュアルページのリビジョンの指定に関するセクションに記載されています。

于 2012-12-12T15:09:05.737 に答える