2014-10-01 66 views
0

我們最近從cvs更改爲git。我是負責發佈我們的應用程序的新版本的人員(並且執行大部分代碼)。由於我編寫了大部分代碼,因此我直接在主分支上工作。偶爾一些其他同事做一些小東西。 使用CVS時,當提交文件已經完成時,我會通知所有人,並且可以非常清楚地看到其他人做了什麼。爲了儘量獲得git的同一控制,我已指示他們執行以下操作時,他們正在做的改變:如何在使用cvs時有效地查看git中的代碼更改

1. Make a new branch. 
2. Do your changes. 
3. Tell me that you are finished, so that I may commit and push my stuff to master. 
4. Merge your branch into master. 

我可以再看到diff文件等做的git取起源,git的差異主產地/主和git merge origin/master 我不知道這是否是最好的方法? (你有其他建議嗎?)但是它在某種程度上似乎有效。主要的問題是有時發生的事情。其中一人留下了一個信息:「我只是修復了一些非常小的事情,並將其推送到主分支」。 發生這種情況時,我經常會發生許多無法完成的更改。然後我犯這些,然後開始「樂趣」。我希望能夠看到並驗證他們的代碼,但在「git fetch origin」之後,「git diff master origin/master」不僅會顯示他們的更改,而且會顯示他們的全部內容。很難確切地看到他們對我心愛的主分店做了什麼。在git merge origin/master之後,我至少知道哪些文件會受到影響,但必須將這些文件與MY提交進行非直接比較,而不是將它們的提交(我使用eclipse,與歷史記錄進行比較)來查看更改。這是看到其他民族變化的最佳方式嗎?或者,還有更好的方法?我已經使用git幾個月了,當涉及到控制代碼時,我發現它不像csv那麼容易,但也許因爲它是一個分佈式修訂系統,我無法獲得相同數量的控制權?

編輯:改變了問題的標題,以更多地反映我所問:我如何輕鬆地看到其他人在git中做了哪些代碼更改?

回答

0

我會推薦使用Git的GUI而不是試圖在命令行上執行它。至少對我而言,在GUI中更容易看到歷史。

我喜歡使用Atlassian的SourceTree:https://www.atlassian.com/software/sourcetree/overview

從那裏,你可以看到,都出了遙控器上,看看有什麼改變的提交,而不必拉變成你自己的本地回購。

Telerik的劍道UI回購的示例屏幕截圖中SourceTree:

enter image description here


如果你真的想與什麼人推到master關注,你總是可以設置你的Git服務器不允許用戶直接提交給master,而讓他們創建分支,然後你執行從分支到master的合併。我從來沒有設置過,但這裏有一些信息:http://git-scm.com/book/en/Customizing-Git-An-Example-Git-Enforced-Policy

+0

謝謝,我正在調查SourceTree,它看起來很有希望。 – runholen 2014-10-01 12:51:55

相關問題