2012-10-26 18 views
5

假設我在我的git存儲庫中有一個分支「work」和一個分支「ideas」。我可以在不同於活動的分支中打開文件嗎?

我通常在我的「工作」分支上工作我的marvelous_file.cpp,但有時我想打開 同時在我的「想法」分支中的marvelous_file.cpp。

我不想看到這兩個文件之間有什麼區別,而是從「ideas」分支取得代碼片段,並將它們複製並放在「work」分支中的文件中。

這可能嗎?如果不是,我可以將「想法」中的文件簽出爲「工作」,但使用不同的名稱?

回答

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 

系統地扔掉的變化,你不想要的。如果您已經將它們放入要處理的文件中,可能會更容易抓取您想要的片段。

相關問題