2012-10-26 6 views
5

私のgitリポジトリにブランチ "仕事"とブランチ "アイデア"があります。アクティブなブランチとは異なるブランチでファイルを開くことはできますか?

私は通常 "仕事"ブランチの私のmarvelous_file.cppで働いていますが、ときどき を私の "アイデア"ブランチにあるmarvelous_file.cppを開きたいと思います。

2つのファイルの違いを知りたいのではなく、「アイデア」ブランチからコードのスニペットを取り出し、「仕事」ブランチのファイルにコピーして過去のものをコピーしてください。

これは可能ですか?そうでない場合、「アイデア」のファイルを「仕事」にチェックアウトできますか?別の名前ですか?

答えて

7

あなたはそれを行うためにgit showを使用することができます。

git show ideas:marvelous_file.cpp 

これは、右のターミナルでそれを表示します。あなたがしたい場合は、ファイルとして、例えばファイルにちょうどパイプそれを、こと:あなたがローカルで最初に変更をコミットした場合

git show ideas:marvelous_file.cpp > ideas.cpp 
+0

+1 StackOverflowは常に学習しています。 – Yamaneko

+0

+1。そのようなものを見つけようとした時代を過ごしました –

+0

それはうまくいきました!私はgitが大好きですが、時には特定のタスクをもっと即座に行うべきだと感じています:) git checkout-asコマンドはいいかもしれません(これを行うには別名を追加できますか?) – lucacerone

0

、これらのステップはうまく動作します:

git checkout ideas -- path/to/your/file.txt 

は、ファイルをつかむだろう作業フォルダにあるフォルダを置き換えてください。あなたは、ディレクトリ全体または全体の作業ツリーのためにこれを行うことができます。

git checkout ideas -- . 

全体の作業ツリーをつかむだろう

git checkou ideas -- dir/with/cool/stuff 

のディレクトリのすべての内容をつかむだろう。

は今、あなたは

git reset -p 

体系の変更を捨てるためにあなたがしたくないことができます。これは、あなたが作業しようとしているファイルに既に配置されている場合に必要なスニペットを取得する方が簡単かもしれません。

関連する問題