12

次のブランチがあります。

* master
newbranch
remotes/origin/HEAD -> origin/master
remotes/origin/api-notes
remotes/origin/event-creation-validation
remotes/origin/master
remotes/origin/organizerlocation-bug-demo
remotes/origin/ticket-180
  1. 現在のブランチ マスターはオリジン/マスターとは異なりますか、それともこれらのブランチは連携していますか?

  2. さまざまなブランチの最後の変更を検出するにはどうすればよいですか? また、それらを削除してクリーンアップするにはどうすればよいですか?

どうもありがとうございました。

4

2 に答える 2

7

心配したり、何かを片付けたりする理由はありません。これが理由です:

現在のブランチマスターはオリジン/マスターとは異なりますか、それともこれらのブランチは連携して機能していますか?

マスターをトラッキングブランチとして作成した場合、またはクローンした場合(デフォルトではクローンがトラッキングマスターを作成します)、そうです。トラッキングとは、gitがこのブランチマッピングをプッシュおよびマージのデフォルトターゲットとして使用することを意味します。また、「ブランチマスターはオリジン/マスターより2コミット進んでいます」などのステータスメッセージも表示されます。

さまざまなブランチの最後の変更を検出するにはどうすればよいですか?

私は単に使用します

git branch -av

これは、ローカルとリモートのすべてのブランチの短いコミットIDと短い要約を示しています。

これに加えて、gitlogを使用することをお勧めします。 git log --decorateどのブランチがどのコミットを指しているかを確認するのに非常に役立ちます。最新のgitバージョン(1.7.11以降)では、次のコマンドを使用して永続的に有効にできます。

git config --global log.decorate short

クリーンアップするためにそれらを削除するにはどうすればよいですか?

あなたはしません-リモートブランチはあなたのものではありません。リモートブランチは、最後git fetchに実行されたときのリモートの状態を反映するだけです。それらを作成することはできません。また、を使用して削除した場合でもgit branch -rd、次回実行すると、git fetchこれらのリモートブランチポインタはすぐに戻ります。

ただし、このリモコンを完全に削除した場合:

git remote rm origin

そうすると、このリモートのすべてのリモートブランチが一度になくなります。

于 2013-01-17T17:22:30.217 に答える
3

1 /現在のブランチマスターはオリジン/マスターとは異なりますか、それともこれらのブランチは連携していますか?

これは異なり(origin/masterクローンの後で開始された場合でも)、追跡されませんorigin/master(「gitブランチが追跡しているリモートを変更するにはどうすればよいですか?」を参照)。

2/クリーンアップするためにそれらを削除するにはどうすればよいですか

次のコマンドを使用して、リモート名前空間からブランチを削除できます。

git branch -rd origin/api-notes

(「Gitから無効なリモートブランチ参照を削除するにはどうすればよいですか?」を参照してください)

2つのブランチをgitdiffまたはgitlogして、持っていないコミットを確認できます。
「 Git diff ..?ドットがある場合とない場合の違いは何ですか?.. 」を参照してください。
Git:すべてのローカルコミットをリモートリポジトリバージョンと比較する」も参照してください。

于 2013-01-17T16:05:39.017 に答える