我对git(以及所有版本控制软件)都很陌生。我已经安装了SmartGit 3作为我的图形界面。我创建了一个裸仓库并克隆它。我想知道的是,我应该如何从服务器中取出(不覆盖),比较我当前本地版本与远程服务器之间的修改(更改),并选择我想要保留的更改(比如在meld或kdiff3中)。
正如我们所说,当我从服务器拉出时,它会完全覆盖我的本地版本,当我推送时,它会用本地版本覆盖远程服务器的版本(最后一次提交)。
我希望能够在拉动和/或推动时比较本地版本和远程版本之间的差异。
我试图弄明白该怎么做,但却找不到它。我见过我的一个朋友和git gui做过类似的事情(我觉得他正在合并一些东西,但我不确定)。
无论如何,我确信我理解错了,但是如果有人可以帮我解决如何操作的程序(使用SmartGit 3),那将非常有帮助。
答案 0 :(得分:0)
在您的SmartGit3项目中,右键单击存储库设置(alt-enter)并取消选中“提交合并的远程更改”。
现在当你执行“拉”时,如果你只是获取更改,它们将被提取到origin / master分支。
您可以在合并窗口中合并(从下拉列表中选择所有分支或只选择“master和origin / master”),远程(origin / master)分支上的提交应显示在列表中。
看起来,一旦你获取(上面),你可以从日志窗口看到与本地HEAD的变化。在“过滤器”框/“默认着色”下拉列表旁边的小下拉列表中选择所有分支(或“主和原始/主”)。然后,您可以选择将提交合并到您当地的主人。