是否有一种非常简单的方法来使用git - 就像一个命令一样?

时间:2016-08-29 12:26:17

标签: git versioning

我的意思是:

  • 我们有一台存储最新版本的服务器
  • 在我的白昼,有时候我想提交修改,
  • 在我完成所有工作后,我希望与其他人保持同步,
  • 如果没有出现任何问题,我希望无需额外步骤即可恢复工作。

在梦幻世界中,这个应该只用一个命令来完成,比如“git snap”,它应该管理所有步骤;当然,当出现问题(一个无法自动解决的冲突)时,它会给我一个错误信息,我会开始这么做。 (是的,我可以做到,我每天都在使用git,只是想让它毫不费力。)

那么,实现这一目标的最简单的方法是什么?一批,也许?一系列git命令,如stash + pull + stashpop + commit,或commit + pull + push?有没有一种自动的方法可以做到这一点,在乐观主义的情况下没有发生不良冲突?

我现在正在使用带有3个不同客户端的git(SourceTree,GitExtensions,TortoiseGIT),但这些都不会让我的生活那么简单。我不想一直手动藏匿,我对详细消息不感兴趣,只是一个命令,它或者全部完成或者因为某个原因而失败。

有办法吗?

5 个答案:

答案 0 :(得分:1)

我能想到的唯一选择是bash函数或脚本来串行运行命令。我的工作流程看起来像这样(因为你不关心提交消息):

git commit -a --allow-empty-message -m ''
git pull --rebase
git push

对我来说,这可能会占据我工作流程的80%(SWAG)。 git pull --rebase是可能失败的唯一步骤。如果存在任何冲突,它将失败,但让您处于纠正状态,然后使用git rebase --continue继续变基。然后,您可以git push完成工作流程。

您也可以查看GitHub自己的Git客户端,它非常简单并且集成得很好。但是,它不会为您提供您正在搜索的“单击操作”。 http://www.w3schools.com/html/html_form_attributes.asp

答案 1 :(得分:1)

这是一个命令:

git commit -a -m "Commit" && git pull --rebase && git push origin master

您还可以解决冲突。这将变得更难。

请注意,您没有按照预期的方式使用git。

Git不应仅用于共享代码或备份您的工作。

答案 2 :(得分:1)

非常好的问题!我的生活很简单,因为我通过PHPStorm使用git。我建议你试一试。它自动处理这些,并且它也有代码完成:P

答案 3 :(得分:0)

这可能是使用Makefile执行此操作的好方法。

答案 4 :(得分:0)

经过几个月尝试不同的客户后,我发现 GitExtensions 是最轻松的同步。它有一个" auto stash"当你执行拉动时选项 - 自动保存所有更改,然后从服务器获取新内容,然后将自己的更改合并到它们上(隐藏弹出窗口),所有这一切都没有触摸它,如果你想要的话。它还为您提供了一种手动解决冲突的方法(尽管您需要比较/合并工具,例如TortoiseMerge)。

TLDR:GitExt似乎是我祈祷的答案。