Gitのリモートブランチを作成するには?

ローカルブランチを作成して、それを上流に 'push'したいと思っています。Stack Overflowには、新しく作成したリモートブランチを追跡する方法について、同様の質問があります。

しかし、私のワークフローは少し違います。まず最初にローカルブランチを作成し、満足してブランチを共有したいときだけ上流にプッシュしたいと思います。

  • どうすればいいですか?(グーグルで検索しても何も出てきませんでした)。
  • 同僚に上流のリポジトリから引っ張ってくるように伝えるにはどうしたらいいですか?

UPDATE Git 2.0では、よりシンプルな答えがあります 以下に書きました: https://stackoverflow.com/a/27185855/109305

質問へのコメント (4)

まず、ローカルにブランチを作成します。

git checkout -b  # Create a new branch and check it out

リモートブランチは、リモートサーバーにプッシュしたときに自動的に作成されます。そのため、準備ができたと思ったら次のようにすればいいのです。

git push   

ここで、`は通常はorigin` で、これは git がクローン元のリモートに与える名前です。あなたの同僚がそのブランチをプルすれば、自動的にローカルにブランチが作成されます。

しかし、形式的には次のようになります。

git push  :

しかし、片方を省略すると、両方のブランチ名が同じであるとみなされます。注意**として、: (コロン付き)だけを指定するという重大なミスを犯さないようにしてください、さもないとリモートブランチが削除されてしまいます。

そうしないと、リモートブランチが削除されてしまいます! 後続の git pull が何をすべきかわかるように、代わりに次のようにするとよいでしょう。

git push --set-upstream   

後述するように、--set-upstream オプションは上流のブランチを設定します。

最新の状態になったブランチや プッシュに成功したすべてのブランチに対して、アップストリームを追加します。 (追跡)参照で使用されます。 引数なしの git-pull(1) やその他の コマンドで使用されます。

解説 (29)

まず、ローカルにブランチを作成する必要があります。

git checkout -b your_branch

その後、自分のブランチでローカルに作業することができます。ブランチを共有する準備ができたら、それをプッシュします。次のコマンドは、ブランチをリモートリポジトリ origin にプッシュしてそれを追跡します。

git push -u origin your_branch

とすることで、チームメイトはあなたのブランチに到達することができます。

git fetch
git checkout origin/your_branch

ブランチでの作業を続けながら、git push に引数を渡さずに好きなときにプッシュすることができます (引数なしの git push は、master をリモートの master に、your_branch の local をリモートの 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
解説 (0)
ソリューション

シンプルな Git 2.0+ の解決策です。

Git 2.0 では、動作がよりシンプルになりました**。

git の設定に push.default = current を指定することで、生活をより簡単にすることができます。

これを追加したので、新しいブランチを上流にプッシュするには

$ git push -u

u` は同名のリモートブランチを追跡します。 この設定で、git push へのリモート参照を自動的に推測することができるようになりました。 git.config documentation][1]より。

git.config documentation][1] より: &gt. push.default**** とします。 gt. を指定します。 refspec が明示的に指定されていない場合に git push が取るべきアクションを定義します。 &gt.

となります。 push.default = current - 現在のブランチをプッシュしてブランチを更新します。 &gt. 受信側で同じ名前を使用することができます。 中央のワークフローでも非中央のワークフローでも動作します。

私にとっては、これは日々のGitワークフローをシンプルにしてくれています。 この設定では、ローカルにブランチを追加して、それを受け取りたいというような 'always&#39. ブランチをローカルに追加してリモートで作成するというようなケースに対応しています。 また、git co remote_branch_name を実行するだけで、リモートからローカルブランチを簡単に作成することができます(--set-upstream-to フラグを使うのとは対照的です)。

この質問と受け入れられている答えはかなり古いものですが、ワークフローをよりシンプルにするための設定オプションが存在するように動作が変更されました。

Git のグローバル設定を追加するには、コマンドラインで次のように実行します。

$ git config --global push.default current

[1]: http://git-scm.com/docs/git-config

解説 (3)

前の回答にもあるように

git push  :

は、ローカルブランチをプッシュするのに十分です。

あなたの同僚は、このコマンドですべてのリモートブランチ (新規ブランチを含む) をプッシュすることができます。

git remote update

そして、そのブランチに変更を加えるには、通常のフローで行います。

git checkout -b  /
解説 (0)

現在のブランチをベースに、ローカルに新しいブランチを作成します。

git checkout -b newbranch

通常のように変更をコミットします。 その後、上流にプッシュします。

git push -u origin HEAD

これは、現在のブランチを origin 上の同じ名前のブランチにプッシュして追跡するショートカットで、将来的に origin HEAD を指定する必要がないようにします。

解説 (5)

現在のブランチからブランチを作成したい場合

git checkout -b {your_local_branch_name} 

リモートブランチからブランチを作成したい場合は、次のようにします。

git checkout -b {your_local_branch_name} origin/

変更が終わったら追加します。

git add -A or git add 

その後、ローカルでコミットします。

git commit -m 'your commit message'

リモートレポにプッシュしたい場合

git push -u origin 

すべてを一緒にすることになります。

git checkout -b bug_fixes 

或いは リモートブランチからブランチを作成したい場合は development とします。

git checkout -b bug_fixes origin/development

ブランチをリモートレポにプッシュするには

git push -u origin bug_fixes

他のブランチからブランチを更新したいときはいつでも master と言ってください。

git pull origin master`.

解説 (0)

ローカルブランチを持たずにリモートブランチを作成したい場合は、次のようにします。

git push origin HEAD:refs/heads/foo

リモートには存在しなかった foo のブランチにあなたの HEAD であるものをプッシュします。

解説 (4)

最も簡単な解決策... ドラムロール... git バージョン 2.10.1 (Apple Git-78) git バージョン 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

注意。

  • ローカル環境で作成したブランチと、プッシュしようとしているリモートの存在しないブランチは、同じ名前でなければなりません**。
解説 (1)

まず、ローカルにブランチを作成します。

git checkout -b your_branch

そして、リモートでブランチを作成すること。

git push --set-upstream origin your_branch

注意してください。 これは最新バージョンの git で動作します。

$ git --version
git version 2.3.0

乾杯!

解説 (1)

&gt. ローカルマシン上にブランチを作成し、このブランチで切り替えます。

$ 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]

それから、変更をマージするために適用する必要があります。

$ 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]

ここにすべての情報があります][1

その他既存事業][2

[1]: https://github.com/Kunena/Kunena-Forum/wiki/Create-a-new-branch-with-git-and-manage-branches [2]: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/

解説 (0)

既存のブランチからローカルブランチを作成する (master/develop/any-other-branchが可能)。

とすることができます。 git checkout -b branch_name

これをリモートにプッシュ

&gt. git push -u remote_name local_branch_name:remote_branch_name

これを

  1. -u : 上流のブランチを設定します。
  2. remote_name . git はリポジトリを作成するときにデフォルトで "origin&quot. に設定されます。 しかし、これは任意の名前に変更することができます。

  3. local_branch_name . はプッシュするローカルブランチの名前です。
  4. remote_branch_name : はプッシュするローカルブランチの名前です。 は、リモートで作成したいリモートブランチの名前です。

ローカルブランチ名とリモートブランチ名を削除すると、以下のような形式になります。

&gt. git push -u remote_name ブランチ名

これはローカルブランチをリモートにプッシュし、ローカルブランチの branch_name と同じ名前にします。 ローカルブランチはリモートブランチも追跡します。

解説 (0)

私はこの質問がよく答えられていることを知っていますが、ちょうど私が新しいブランチを作成するために取る手順をリストアップしたいと思いました "myNewBranch&quot. とリモート("origin&quot. 私の場合)にプッシュしてトラッキングをセットアップします。 これを"TL;DR&quot. バージョン :)

# 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
解説 (0)

git を使えば、正しいブランチにいるときに入力するだけでいいようになりました。

git push -set-upstream origin <remote-branch-name&gt.

そして、git が origin ブランチを作成します。

解説 (3)

2つのステップで行うことができます。

**ローカルブランチの作成には checkout を使用します。

git checkout -b yourBranchName

2. ブランチを自動作成してリモートリポジトリにコードを送るには、pushコマンドを使用します。

git push -u origin yourBanchName

といった感じです。 これを行う方法はいくつかありますが、私はこの方法がとてもシンプルだと思います。

解説 (0)

ただ、その間に追記したかっただけです。

git checkout -b {branchName}

新しいブランチを作成し、そのブランチをチェックアウトして現在のブランチにします。 何らかの理由でブランチを切り離したいだけで、現在のブランチにはしたくない場合は、次のようなコマンドを使用します。

git branch {branchName}

最初のコマンドでは、"checkout&quot. は、そのブランチをあなたの現在のブランチにし、"-b&quot. を意味します。 このブランチはまだ存在しないので、私のために作ってください。

解説 (0)

ソースツリーを介して行う方法

 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)
解説 (0)

`git push -u <remote-name&gt.

` は、新しく作成したブランチが同じレポからスポーンされていない場合には動作しません。 つまり、`git checkout -b new_branch` を使って新しいブランチを作成していない場合は動作しません。

例えば、私は2つの異なるリポジトリをローカルにクローンしていたので、repo2/branch1をrepo1/にコピーしてプッシュしなければなりませんでした。

この][1]リンクは、私のローカルブランチ(別のレポからクローンしたもの)をリモートレポにプッシュするのに役立ちました。

[1]: http://cmdlinelinux.blogspot.com/2014/02/git-push-new-local-branch-cloned-from.html

解説 (0)

eclipseでEgitを使って行う方法を紹介します。

  1. "Git Repository Exploring&quot. ビューを開き、ブランチを作成したいgitプロジェクトを展開します。 ブランチの下にある -&gt. ローカル ... で、ブランチを作成したいブランチを選択します (私の場合は master ... を選択しました)。 他のブランチを選択してもかまいません)。 そして、右クリックして、Create Branch オプションをクリックします。 そして、このプロジェクトをチェックアウトするオプションを選択し、終了ボタンをクリックします。

  2. プロジェクトエクスプローラからプロジェクトを選択します。 右クリックして、Team -&gt. ブランチをプッシュします。

新しいリモートブランチが作成されます。 ブランチの名前を同僚に教えることができるので、同僚がブランチを引っ張ってくることができます。

解説 (1)

これを使っていますが、かなり重宝しています。

git config --global alias.mkdir '!git checkout -b $1; git status; git push -u origin $1; exit;'

ggt. 使用法。 git mkdir NEW_BRANCH

gitのステータスも必要ありません。 もしかしたら、すべてがうまくいっているかどうかを確認したいだけかもしれません。

一つのコマンドで LOCAL ブランチと REMOTE ブランチの両方を持つことができます。

解説 (0)