私は上流に 'プッシュ'したいローカルブランチを作成しました。新しく作成されたリモートブランチをどのように追跡するかについては、スタックオーバーフローについても同様の質問があります。
しかし、私のワークフローは少し異なります。 Firstローカルブランチを作成したいのですが、満足してブランチを共有したいときにだけ上流にプッシュします。
Git 2.0ではもっと簡単な答えがあります私は以下のように書いています: https://stackoverflow.com/a/27185855/109305
Git 2.0では、振る舞いはより簡単になりました :
生活を楽にするためにPush.default = current
でgitを設定することができます。
これを追加したので、新しいブランチを上流にプッシュすることができます。
$ git Push -u
-u
は同じ名前のリモートブランチを追跡します。今この設定であなたはgit Pushへのリモートリファレンスを自動推測します。 git.configのドキュメントから :
Push.default
Refspecが明示的に指定されていない場合にgit Pushが取るべきアクションを定義します。
Push.default = current
- 現在のブランチをプッシュして、受信側で同じ名前のブランチを更新します。中央ワークフローと非中央ワークフローの両方で機能します。
私にとっては、これが私の日々のGitワークフローを非常に単純化したものです。構成設定は、ブランチをローカルに追加してリモートで作成したいという「通常の」ユースケースを処理します。また、(git co remote_branch_name
フラグを使用するのではなく)--set-upstream-to
を実行するだけで、リモートからローカルブランチを簡単に作成できます。
私はこの質問を知っていますし、受け入れられた答えはかなり古くなっていますが、動作が変更されたため、ワークフローをより簡単にするための設定オプションが追加されました。
グローバルGit設定に追加するには、コマンドラインでこれを実行します。
$ git config --global Push.default current
まず、ブランチをローカルに作成します。
git checkout -b <branch-name> # Create a new branch and check it out
リモートブランチは、リモートサーバーにプッシュすると自動的に作成されます。それであなたがそれの準備ができていると感じるとき、あなたはただすることができます:
git Push <remote-name> <branch-name>
<remote-name>
が通常Origin
であるところでは、gitがあなたがクローンしたリモートに与える名前です。同僚はそのブランチを引っ張るだけで、自動的にローカルに作成されます。
ただし、正式には、形式は次のとおりです。
git Push <remote-name> <local-branch-name>:<remote-branch-name>
しかし、どちらかを省略すると、両方のブランチ名が同じであると見なされます。 注意 の言葉として、これを言っても、(コロン付きで):<remote-branch-name>
だけを指定するという重大なミスをしないでください。そうしないと、リモートブランチは削除されます。
それで、その後のgit pull
が何をすべきかを知るために、代わりにあなたが使うかもしれません:
git Push --set-upstream <remote-name> <local-branch-name>
以下で説明するように、--set-upstream
オプションはアップストリームブランチを設定します。
最新のブランチやプッシュが成功したブランチごとに、引数のないgit-pull(1)や他のコマンドで使用されるアップストリーム(トラッキング)参照を追加します。
まず、ブランチをローカルに作成しなければなりません
git checkout -b your_branch
その後、ブランチを共有する準備ができたら、ブランチでローカルに作業できます。プッシュします。次のコマンドブランチをリモートリポジトリOriginにプッシュして追跡します
git Push -u Origin your_branch
チームメイトは、次のようにしてあなたの支店にたどり着くことができます。
git fetch
git checkout Origin/your_branch
Git Pushに引数を渡さなくても、ブランチで作業を続けていつでもプッシュできます(引数なしのgit Pushは、マスターをリモートマスターに、your_branchをローカルに、リモートyour_branchなどにプッシュします)
git Push
チームメイトは、コミットしてから明示的にプッシュすることでブランチにプッシュできます。
... work ...
git commit
... work ...
git commit
git Push Origin HEAD:refs/heads/your_branch
あるいはgit Pushの引数を避けるためにブランチを追跡する
git checkout --track -b your_branch Origin/your_branch
... work ...
git commit
... work ...
git commit
git Push
前の答えで述べたように、
git Push <remote-name> <local-branch-name>:<remote-branch-name>
ローカルブランチをプッシュするのに十分です。
あなたの同僚は、このコマンドで(新しいものを含む)すべてのリモートブランチを引っ張ることができます。
git remote update
それから、ブランチに変更を加えるために、通常の流れ:
git checkout -b <local-branch-name> <remote-name>/<remote-branch-name>
現在のブランチに基づいてローカルに新しいブランチを作成します。
git checkout -b newbranch
通常どおりに変更をコミットします。それから、上流にプッシュします。
git Push -u Origin HEAD
これは、現在のブランチをOrigin
上の同じ名前のブランチにプッシュして追跡するためのショートカットで、将来的にOrigin HEAD
を指定する必要はありません。
もしあなたが実際にローカルブランチを持たずにリモートブランチを作成したいだけなら、このようにすることができます。
git Push Origin HEAD:refs/heads/foo
それはあなたのHEADがリモートに存在しなかったものであればブランチ foo にプッシュします。
最も簡単な解決策...ドラムロール... git version 2.10.1(Apple Git-78)
1) git checkout -b localBranchNameThatDoesNotExistInRemote
2) Do your changes, and do a git commit
3) git Push Origin localBranchNameThatDoesNotExistInRemote --force
N.B. - ローカル環境で作成したばかりのブランチと、プッシュしようとしているリモートの存在しないブランチ は、同じ名前 - を持つ必要があります。
現在のブランチからブランチを作成したい場合
git checkout -b {your_local_branch_name}
あなたはリモートブランチからのブランチが欲しいなら、あなたは試すことができます
git checkout -b {your_local_branch_name} Origin/<remote_branch_name>
変更が終わったら、ファイルを追加できます。
git add -A or git add <each_file_names>
それからローカルでコミットする
git commit -m 'your commit message'
リモートリポジトリにプッシュしたいとき
git Push -u Origin <your_local_branch_name>
すべて一緒になります
git checkout -b bug_fixes
またはリモートブランチからブランチを作成したい場合は、 development としてください。
git checkout -b bug_fixes Origin / 開発
次のようにして、リモートリポジトリへのブランチにプッシュできます。
git Push -u Origin bug_fixes
他のブランチからブランチを更新したいときはいつでも master と言ってください。
git pull Origin master
。
まずブランチをローカルに作成します。
git checkout -b your_branch
それからブランチをリモートで作成します。
git Push --set-upstream Origin your_branch
注:これは最新バージョンのgitで機能します。
$ git --version
git version 2.3.0
乾杯!
ローカルマシンにブランチを作成し、このブランチに切り替えます。
$ git checkout -b [name_of_your_new_branch]
Githubにブランチをプッシュする:
$ git Push Origin [name_of_your_new_branch]
ブランチで何かをコミットしたいときは、必ずブランチに参加してください。
以下を使用して作成されたすべてのブランチを見ることができます。
$ git branch
どれが表示されます:
* approval_messages
master
master_clean
ブランチ用の新しいリモコンを追加します。
$ git remote add [name_of_your_remote]
コミットからの変更をブランチにプッシュします。
$ git Push Origin [name_of_your_remote]
公式リポジトリの元のブランチが更新されたらブランチを更新してください。
$ git fetch [name_of_your_remote]
あなたのブランチがDevelopから派生したものである場合は、変更をマージするように申請する必要があります。
$ git merge [name_of_your_remote]/develop
ローカルファイルシステム上のブランチを削除します。
$ git branch -d [name_of_your_new_branch]
ファイルシステム上のローカルブランチを強制的に削除するには:
$ git branch -D [name_of_your_new_branch]
Githubのブランチを削除します。
$ git Push Origin :[name_of_your_new_branch]
既存のブランチからローカルブランチを作成します(master/development/any-other-branch)。
git checkout -b branch_name
これをリモコンにプッシュ
git Push -u <リモート名> <ローカルブランチ名>:<リモートブランチ名>
ここに、
ローカルブランチとリモートブランチの名前を削除すると、次の形式になります。
git Push -u remote_nameブランチ名
これにより、ローカルブランチがリモートブランチにプッシュされ、ローカルブランチbranch_nameと同じ名前になります。ローカルブランチはリモートブランチも追跡します。
私はこの質問がよく答えられていることを知っていますが、新しいブランチ "myNewBranch"とPush to remote(私の場合は "Origin")を作成してトラッキングを設定するためのステップをリストしたいだけです。これを "TL; DR"バージョンと考えてください:)
# create new branch and checkout that branch
git checkout -b myNewBranch
# now Push branch to remote
git Push Origin myNewBranch
# set up the new branch to track remote branch from Origin
git branch --set-upstream-to=Origin/myNewBranch myNewBranch
Gitを使えば、正しいブランチに入ったときに、ただ入力することができます。
git Push --set-upstream Origin <remote-branch-name
>
そしてgitはあなたのためにOriginブランチを作成します。
ちょっとそれを加えたかっただけです:
git checkout -b {branchName}
新しいブランチを作成し、そのブランチをチェックアウトして現在のブランチにします。何らかの理由であなたがしたいのがブランチからスナップするだけで現在のブランチにしないのであれば、次のコマンドを使用します。
git branch {branchName}
最初のコマンドで、 "checkout"はそのブランチをあなたの現在のブランチにします、そして " - b"はこのブランチがまだ存在していないことを意味します。
ソースツリーを介して行う方法
1: Open SourceTree, click on Repository -> Checkout
2 :Click on Create New Branch
3: Select branch where from you want to get code for new branch
4: Give your branch name
5: Push the branch (by click on Push button)
新しく作成したブランチが同じリポジトリから作成されていない場合、つまりgit Push -u <remote-name> <branch-name>
を使用して新しいブランチを作成していない場合、git checkout -b new_branch
は機能しません。
たとえば、2つの異なるリポジトリをローカルに複製し、repo2/branch1をrepo1 /にコピーしてからプッシュする必要がありました。
これ linkは、私のローカルブランチ(別のリポジトリから複製されたもの)をリモートリポジトリにプッシュするのに役立ちました。
これがEclipseでEgitを使って行う方法です。
1) "Git Repository Exploring"ビューに行き、ブランチを作成したいgitプロジェクトを説明してください。 [ブランチ] - > [ローカル]の下で、ブランチを作成したいブランチを選択し(私の場合はマスターを選択しました。必要に応じて別のブランチを選択できます)。そして、このプロジェクトのチェックアウトオプションを選択してから、終了ボタンをクリックします。
2)プロジェクトエクスプローラからプロジェクトを選択します。右クリックしてからチーム - >プッシュブランチを選択します。
新しいリモートブランチが作成されます。彼らがそれを引っ張ることができるようにあなたはあなたの同僚に枝の名前を与えることができます。
私はこれを使用し、それはかなり便利です:
git config --global alias.mkdir '!git checkout -b $1; git status; git Push -u Origin $1; exit;'
使用法:git mkdir NEW_BRANCH
Gitステータスさえ必要ありません。多分、すべてがうまくいっていることを確認したいだけです...
1つのコマンドでLOCALとREMOTEの両方のブランチを作成できます。