- 我做在一個文件中的一些變化在本地並運行
git add
,git commit
和git push
- 文件推送到遠程起源主存儲庫
- 我還有一個本地資源庫是通過Capistrano通過遠程存儲庫中的「remote_cache」方法部署
- 現在我不想部署整個應用程序,只需更新/檢出單個文件即可。
請問,這是不是有可能與Git?我無法找到任何可行的工作,也無法找出答案。有了SVN,我只是做了svn up file
和瞧。
我會很高興的任何幫助,謝謝!
git add
,git commit
和git push
請問,這是不是有可能與Git?我無法找到任何可行的工作,也無法找出答案。有了SVN,我只是做了svn up file
和瞧。
我會很高興的任何幫助,謝謝!
Git不適用於單個文件。我不知道remote_cache
設置,所以我不能對此發表評論。但是,在git中,您必須對整個存儲庫執行clone
,對文件進行更改,將其提交(這是本地操作),然後再將更改推回。
在您的設置中,您應該能夠簡單地將主資源庫(稱爲M)的變化pull
更改爲您的Capistrano部署的回購庫(稱爲B)。我不明白你爲什麼會遇到問題。如果B完全不同並且您不想搞亂它,您可以將M作爲remote
添加到B,然後將cherry-pick
您感興趣的特定提交(即您正在討論的文件的更新)添加到B.這對你有用嗎?
謝謝!好吧,我對整個特定的提交併不感興趣,我只想將單個文件更新到它的HEAD修訂版本(即使整個提交包含的不僅僅是這個單個文件)在遠程原始主分支中。我想我只是用svn的想法誤解git。我將不得不多做一點試驗。 – foresth 2010-07-27 11:40:05
Git維護文件系統(存儲庫)的快照而不是單個文件歷史記錄,因此您的導航只能位於這些快照之間。參看http://progit.org/book/ch1-3.html – 2010-07-27 17:07:19
我發現@ qzio的回答對我的類似情況非常有幫助;它有零票,但爲什麼呢? - 可能是一種不好的做法或什麼? – lfborjas 2011-01-19 01:16:39
你可以做的是:
更新本地的git回購:
git fetch
建立一個本地分支,結賬就可以了:
git branch pouet && git checkout pouet
申請你想在這個分支的提交:
git cherry-pick abcdefabcdef
(abcdefabcdef是的SHA1提交要應用)
順便說一句,你的第二步也可以通過'git checkout -b pouet'在一個命令中完成。 – 2010-07-26 20:29:54
'pouet'是本例最好的分支名稱。 – Hussard 2016-12-30 15:24:24
這是可以做到(在部署存儲庫)
git fetch
git checkout origin/master -- path/to/file
獲取將下載所有最近的更改,但不會將其放入當前檢出的代碼(工作區)中。
結帳將更新與下載的更改(origin/master
)中的特定文件的工作樹。
至少這對我這些小小的打字錯誤修復,它感到奇怪創建一個分支等只是爲了更改文件中的一個單詞。
或者你正在使用的分支上有git stash(如果你有更改),checkout master,拉取最新的更改,將該文件抓到桌面(或整個應用程序)。檢查你所在的分支。 Git存儲會回到您所在的狀態,然後手動修改這些更改或將其拖到替換文件。
這種方式不是很酷,但它確實有效,如果你們不能找出其他東西。
git archive --format=zip --remote=ssh://<user>@<host>/repos/<repo name> <tag or HEAD> <filename> > <output file name>.zip
這應該是公認的答案! – 2017-08-16 09:46:19
這是一個很好的解決方案,用於通過SSH複製repos,但似乎不支持通過https: 'git archive --remote = https://github.com/git/git.git master:git/contrib/completion git-completion.bash | tar -x' 給我錯誤信息:'致命的:操作不支持協議。' – Alderath 2018-03-06 10:18:13
我想我已經找到了一個容易的黑客了。
刪除您對本地存儲庫中的文件(你想從最新的更新文件中的遠程服務器提交)
然後做一個git pull
由於文件被刪除,有將不會產生衝突
這將刪除所有在本地對該文件所做的最終更改,並且還將所有其他文件,這是特別是OP沒有想做。 – legrojan 2017-11-17 11:30:11
您可能需要考慮將接受的答案更改爲實際回答您問題的答案。 ;) – steps 2014-10-27 16:52:13
經過6年多的時間,我相信我們可以有把握地認爲這不會發生@steps ... – 2017-03-05 23:21:16
這必須是最低分的接受答案。 – 2017-04-10 19:35:13