2016-12-30 7 views
0

私はちょうどリポジトリをローカルにクローンしました。私たちはリポジトリの一部である開発ブランチから常に作業することが期待されます。私はすべてのブランチを一覧表示すると、次のように:Git checkout - どのように

git branch -a 

結果は以下の通りである:

master (with an *) 
remotes/origin/HEAD -> origin/master 
remotes/origin/develop 
remotes/origin/master 

どのように私は今、開発ブランチをチェックアウトし、作業を開始します。私はちょうどあなたが作成コミットを保持するための新しいブランチを作成したい

git checkout 

Checking out files: 100% (2436/2436), done. 
Note: checking out 'develop'. 
enter code here` 
enter code here`You are in 'detached HEAD' state. You can look around, 
make experimental 
changes and commit them, and you can discard any commits you make in this 
state without impacting any branches by performing another checkout. 

場合、あなたは 再びcheckoutコマンドに-b使用して(今以降)そうすることができると言う 。例

git checkout -b new_branch_name 

私が使用してチェックアウトする場合、それは

git checkout -b new_branch_name 

新しいローカルブランチを作成しているようだ頭に浮かぶ他のオプションは

git checkout -b develop origin/develop 

である私がいることは明らかですGitブランチの根本的な理解が不足しています。 上記の問題についての説明と、既にブランチをリモートに置いているときにブランチがどのように機能するかをご説明したいと思います。

+0

「私たちは期待しています」とは、必要なツールの使用方法に関するトレーニングを受けるには、この種のトレーニングにどのようなオプションが存在するかをチームリーダーに確認してください。 –

+0

@ user2186453、問題解決に役立つ回答がありますか?はいの場合は、同様の質問をしたオーヤーズに役立つので、マークを付けてください。 –

答えて

0

あなたはそれが存在しているhere

0

実際には、すべての枝は参考程度

git checkout -b local_branch_name 

続きを読むローカルブランチに切り替えたい場合は、

git checkout remote_branch_name 

を打つべきでリモートブランチをチェックアウトします.git/refs/remotes directory。異なるブランチに直接切り替えることができます。例えば、git checkout develop

0

リモートブランチ追跡しているローカルブランチ作成する場合:たとえば

git checkout -b local_brach_name origin/remote_brach_name 

を:

git checkout -b develop origin/develop 

は同じでリモートブランチを追跡開発という名前のローカルブランチを作成します。 name(コマンドはこの新しいローカルブランチにもチェックアウトします)。

+0

これは基本的な質問です。だから、どうして私は地方の支店を「創造する」べきですか?ブランチはすでにリポジトリに存在し、私はそれをクローンしました。 – user2186453

+0

@ user2186453 gitでは、リモートブランチで直接作業することはできません。独自のローカルコピーが必要です。あなたの出力からマスターブランチをクローンしました.gitはローカルコピーを作成しました。開発ブランチをクローンした場合、gitはローカルコピーを作成して、常にリモートを追跡します。 'git branch'でローカルブランチをチェックすることができます。 [docs](https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches)は、リモートブランチの仕組みをよりよく理解するのに役立ちます。 – Nogoseke

0

私は両方の答えが正しいと思いますが、ちょっとの場合gitHelp:p。

remotes/origin/HEAD -> origin/master 
remotes/origin/develop 
remotes/origin/master 
  • のgitブランチ--->新しいローカルブランチを作成
  • Gitチェックアウト---> Gitチェックアウト
  • 枝の間を移動するためにそれを使用-b --->作成してに移​​動新しいローカルブランチ。リモートブランチがすでにレポのクローンを作成するとき、あなたは「necesary」の必要性をいけない存在しているため

(ブランチ+チェックアウトに相当)今とすぐにレポのクローンを作成するとして、あなたは「git checkout develop」ことができるようになります〜git branch develop && git checkout develop

もう1つのコメントは、あなたがリポジトリをクローンするときに、マスターLOCALブランチを作成するだけです。 (つまり、git cloneとgit branchを使用している場合はmaster *が表示されます)リモートブランチはすべて利用可能ですが、そのブランチをコーディングするためには常にgit checkout <name>が必要です。 (リモートブランチが存在する場合、単純なgit checkoutが可能な場合は、ローカルで作成してから、必要に応じてプッシュする必要があります)

関連する問題