2016-08-31 9 views
3

新しいブランチを作るための私の通常のワークフローは新しいブランチを作成し、1つのGitのコマンドでその上流を設定

git checkout -b My-New-Branch 

とされ、その後、いくつかのローカルのコミット

git push --set-upstream origin My-New-Branch 

git checkoutのドキュメントを見ると後ローカルブランチを作成するときに--trackを使用して新しいアップストリームブランチを設定する必要があるように見えますが、私はそれを動作させるようには見えません。

git checkout --track origin/My-New-Branch 
git checkout -b My-New-Branch --track origin/My-New-Branch 
git checkout -b My-New-Branch --track origin My-New-Branch 
git checkout -b --track origin My-New-Branch 

致命的な:パスを更新し、 同時に「マイ・新支店を」分岐に切り替えることはできません。
がコミットとして解決できない「My-New-Branch」をチェックアウトする予定ですか?

Gitで新しいブランチを作成するときに上流を設定することはできますか?

+0

すべてのワンステッププロセスでは、新しいローカルブランチを作成するときにリモートトラッキングブランチが実際に存在する必要があり、定義しないため、少なくとも2つのステップが必要です。 – torek

答えて

1

あなたはそれを行うには、エイリアスを定義することができます。

git config --global alias.co-push '!f() { git checkout -b $1; git push --set-upstream origin $1; }; f' 

これは、あなたが以前に別の実行されている両方のコマンドを実行しますgit co-push My-New-Branchを行うことができます。別のリモコンにプッシュする必要がある場合は、定義内で「原点」を「$ 2」と交換してからgit co-push My-New-Branch originを実行します。

+0

ありがとう、それは便利です。あなたの暗黙の答えは、2つのコマンドを一緒にエイリアシングせずに行うことができないと思っているのでしょうか? – dumbledad

+2

少なくとも私は別の方法を知らない。 – lucash

関連する問題