web-dev-qa-db-ja.com

Gitフローはリモートサーバーのブランチを削除しますか?

私はgitを一緒に使用しています gitフロー。ここでgitフローにはdevelopブランチがあります。機能を開始する必要があるときはいつでも

git flow feature start new

新しいブランチfeature/newが作成されます。次に、変更を行い、 コミット 彼らは

git Push Origin feature/new

変更をコミットした後、機能を使用して終了します

git flow feature finish new

それ 削除する feature/newブランチがローカルにあります。私は今 git flowによるブランチ開発に切り替え そして私は再びタイプします

git Push Origin develop

リモートサーバーdevelopブランチに変更を加える

git branch -aと入力すると、新しいブランチはローカルから削除されましたが、remotes/Origin/feature/newという名前のサーバー上にあります

Git Flowはリモートサーバーのブランチを削除しますか 私のローカルマシンでどれが削除されますか?

私が何か間違いをしている場合は教えてください。

42
Paritosh Singh

source を見ると、git flow feature finish-Fで呼び出した場合にのみ、リモート機能ブランチが削除されているようです。

ただし、これは機能を完了する前にリモートをフェッチします。 docs から:

-F終了を実行する前に$ Originからフェッチします

それ以外の場合は、次のようにして手動で リモートブランチを削除 できます。

git Push Origin :feature/new
37
Stefan

Git-flow AVH Editionの使用をお勧めします。

Stefanが言ったように、元のバージョンは-Fを使用したときにのみリモートブランチを削除しますが、これはちょっと奇妙です。 AVH Editionはこの風変わりな動作を修正します。どちらかを指定しない限り、フィニッシュ時にローカルおよびリモートの機能ブランチを常に削除します

  • --keep:ローカルとリモートを保持します。
  • --keeplocal:ローカルは保持しますが、リモートは削除します。
  • --keepremote:リモートは保持しますが、ローカルは削除します。

Git-flow AVH Editionは github にあります。

24

私がしなければならなかったこと:

git flow feature delete -f name_feature

機能ブランチ内に変更がある場合は、-fが必要です。

git Push Origin --delete feature/name_feature

それはリモートブランチも削除することです。

5
David Prieto