2014-10-01 58 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

相关问题