2017-06-14 8 views
0

のは、私たちは私が、私既存のブランチから分岐した場合、どのブランチがプッシュしたコードを取得しますか?

git commit -m "blah blah blah" 

とcoding..if終わりだ後

stable-branch 

という名前の既存の分岐が、私は

git checkout -b mybranch stable-branch 

することにより、その枝から分岐するとしましょう

git push origin mybranch 

私は自分のブランチにプッシュした後、安定ブランチリモートリポジトリに影響が出ますか?

+0

いいえ、「origin/mybranch」にプッシュすることを指定しているためです。リモートリポジトリに影響を与えるには、 'stable-branch'にプッシュする必要があります。 –

+0

あなたは最初に答えます。公平であるために。あなたの答えが受け入れられるようにするには、あなたの答えを適切な入力ボックスに入れてください。ありがとう – sasori

+0

シンプルなイエス/ノーの回答は正式な答えを保証するものではないので、ここでの心配はありません。 –

答えて

0

No. あなたのコード/コミットは、mybranchの下にもあります。リモートでもです。

そして最良の方法は次のとおりです。ここで

git fetch origin // (or your repo name) 
git checkout -b myNewBranch 
git reset --hard origin/stable-branch 
Do changes 
git status // to see changed files 
git commit -am "commit message here" 
git branch // to see branches in your local repo 
git log --oneline -20 // to see your new commit in the list 
git fetch origin // Fetch again (to get new commits if any) 
git rebase origin/stable-branch // Rebase again to make sure your's is the latest one 
git push origin myNewBranch 

あなたがそれに変化がない場合は、あなたの安定したブランチをチェックアウトして持っていけません。

0

2つのブランチを含むリポジトリに影響があり、今からブランチにプッシュした変更が含まれていますmybranch。しかし、stable-branchにはその変更が表示されません。これは非常に分岐の概念です。

あなたはmybranchで作業します。あなたはコミットして自由にプッシュするので、自分の開発している機能でチームとコラボレーションすることができます。ローカルフィーチャーブランチを押すと、リポジトリー上の他のすべての開発者がリモートおよび可視になります。安定版リリースブランチは同じままです(そうしなければ、潜在的に生成されるブランチ上で開発されることになります)。これはリモートでバージョン履歴を追跡するよう

stable-branchはできるだけ早くあなたがマージする前に一人ですべての公開を作業している場合は、それにmybranchをマージし、

git checkout mybranch 
git commit -m "stuff" 
git push -u origin mybranch //optional publishing 
git checkout stable-branch 
git merge mybranch //now affecting stable-branch for the first time 
//optionally solve occurring merge-conflicts now 
git push -u origin stable-branch 

のようなプロセスで、その後押し込むよう影響を受けるオプションですが、推奨されます(基本的にGitのために作られています)、それによってロールバック、リベース、そして異なるマシンでの作業が可能になります。

詳しくはhereを参照してください。

関連する問題