最後拉,改變了遠程服務器上我們正在試圖找出是否有意義,從我們以前的版本控制系統遷移到Git的文件只是一個獨特的名單。 我們正在努力解決的一個問題是,如何確定自上次拉取後所有提交中的文件被其他人更改過。 特別是,如果多個提交中相同的文件已被更改,我們只想在列表中看到該文件一次。 從我已閱讀,看來我必須真正拉遠程倉庫之前,我可以檢查,但即使是這樣,似乎沒有成爲一個(簡單嗎?)的方式只是讓已經改變了所有的文件名列表。 我們混帳的瞭解還不是很深呢,但做一個獲取關注的是,一些非常大的文件(圖片,AIFF等)可能會被推遲,沒有人希望有獲取一切只爲了找出有改變了嗎? 我已經閱讀了一些其他Q/A在stackoverflow中,但雖然我已經看到類似的問題,我還沒有看到任何似乎可行的答案。 我們一直在嘗試幾種GUI工具來讓生活變得更輕鬆(Tower和SmartGit),但他們似乎都無法做到這一點。我怎樣才能得到,因爲我使用Git
回答
的方式做節目哪些文件當前和以前的主人之間的變化:
git fetch
git diff --stat master origin/master
第一個命令檢索最新的更新不改變你的樹。第二個輸出已更改文件的列表(以及插入/刪除統計信息) - 如果您輸入了git pull
,則會提交所有提交的提交。之後,您可以運行git merge origin/master
將您的更改與上游合併進行合併。 (如果有任何一個在此期間被推這相當於一個git pull
,除了拉可以獲得從服務器新變化。)
不幸的是,Git並不使它明顯如何diff的沒有拉本地更新。
但是@David想要在知道差異結果之前避免抓取。 –
@CharlesBailey我懷疑OP在更新上游之前更加擔心上游的變化。基於'git fetch'的工作流程,在初學者的課程中經常被忽略,可以避免這個問題。 – user4815162342
他特別聲明,他關心的是抓取和抓取的大小。 –
嘗試:
git log --stat
應打印出當前簽出庫的詳細日誌。
不知道git會做你想做的,而不檢查出當地第一。
'git log --stat'未能滿足要求(用粗體字指定),只有在多次提交中更改文件時才列出。 – user4815162342
更重要的是,這顯示了我已經提交的內容,它沒有顯示自上次執行pull操作後遠程存儲庫中的文件已更改。 – David
隨着通過SSH,你可以從一個本地克隆運行像這樣的倉庫直接訪問。
ssh githost "git --git-dir=/data/repo.git diff --name-only\
$(git rev-parse origin/master) master"
你可能想把它放在腳本或別名中。請注意,$(git rev-parse origin/master)
在克隆中本地運行,以檢索克隆的遠程跟蹤分支的標識。
這給了我有意義的錯誤,如 錯誤:無法訪問「add7b64b5545e06a6cbc2445474e1cb5c2453189」 – David
@大衛:如果你只是做類似'SSH githost「混帳--git-DIR會發生什麼= /數據/ repo.git show' –
優秀的答案! – user4815162342
- 1. 我怎樣才能得到
- 2. 我怎樣才能得到
- 3. 我怎樣才能得到用戶
- 4. 我怎樣才能得到Parsley.js
- 5. 我怎樣才能得到Queryable.Join的MethodInfo
- 6. 我怎樣才能得到父組件
- 7. 我怎樣才能得到一個TD
- 8. 我怎樣才能得到的數字
- 9. 我怎樣才能得到statechange
- 10. 我怎樣才能得到這些值
- 11. 我怎樣才能得到其他表
- 12. 我怎樣才能得到一個RejectedExecutionException
- 13. 我怎樣才能得到NSScrollView尊重
- 14. 我怎樣才能得到一個PortletRequest
- 15. regmatch_t我怎樣才能得到匹配?
- 16. 我怎樣才能得到在Android的
- 17. 我怎樣才能得到JSON fton WebSQL
- 18. 我怎樣才能得到結果?
- 19. 我怎樣才能得到屏幕-Android
- 20. 我怎樣才能得到facebook-sdk oauth_access_token
- 21. rootObj replaceObjectAtIndex,我怎樣才能得到valueForKey?
- 22. 我怎樣才能得到`在centOS6
- 23. 我怎樣才能得到android
- 24. 我怎樣才能得到1.3
- 25. 我怎樣才能得到djangocms
- 26. 我怎樣才能得到,當我使用擴展的Vue
- 27. 我怎樣才能得到最後從壓扁犯git的
- 28. 我怎樣才能到我的用戶
- 29. 我怎樣才能使PHP
- 30. 我怎樣才能
你有到中央存儲庫訪問什麼?您可能能夠在獲取之前在遠程存儲庫上運行diff。爲了最佳使用,git依靠快速獲取。在源代碼庫中存儲大量的二進制資源可能會有更好的解決方案。 –
我可以完全訪問中央存儲庫---我們只是在一臺linux服務器上創建了一個repo,我們都可以通過ssh直接訪問它。你會在中央存儲庫上做什麼?這個想法應該是查看遠程更改與每個用戶系統上的更改。但是,我認爲你可能是對的,沒有體面的方式來做這個沒有獲取。 – David