2015-12-31 61 views
0

我是新手與git,我想只有在當地的分支機構的特定文件夾從遠程獲得更新本地的,我沒了下文:git的結帳到特定的文件夾

git fetch 
git checkout origin/branch-name -- /path/to/particular/folder 

我得到了最新的代碼到那個特定的文件夾,但是當我執行git status它顯示獲得最新作爲修改文件(作爲分段文件)的文件,但我不想要這個。

我的要求是,當我執行git status,它顯示的消息像everything is up-to-date

我需要改變上述git fetchgit checkout命令或任何其他的選擇嗎?

回答

1

當你checkout只有特定的文件或文件夾,它改變了你的工作目錄。所以顯然這些文件處於modified狀態。

如果你想要的一切是up-to-date - 你需要將這些文件提交給當地分行。

你應該問自己 - 爲什麼只簽出特定的文件或文件夾?這不是一個常用的工作流程。你可以在一些特定的情況下做到這一點。

0

我同意LGAL S還表示可以git stash你的代碼,然後pull你的更新代碼,然後申請變更完成後, 的良好git stash是你沒有提交你的變化,如果還沒有完成你只要保持和pull您的更新,然後回到你的工作,並完成它你可以commit後,你可以看看上git stashhere

1

機制的文檔似乎你與GIT以錯誤的方式工作,因爲 - 在其他不喜歡源代碼管理系統 - 文件或文件夾並不代表自己。 您可能希望將一次提交(可能位於不同分支上)所做的更改引入本地分支。 如果是這種情況,那麼最好的措施是執行某個提交的git cherry-pick

1

Git不是SVN。您不會將修訂版簽出到某個文件夾中。您有一個工作副本。在該工作副本中,您可以使用

git checkout branchname 

以檢出此工作副本中的單個分支。如果您想同時檢出同一回購商的兩個不同分行,則需要兩份工作副本。