有没有一种真正简单的方法来使用 git - 就像一个命令?
Is there a REALLY simple way to use git - like one single command?
我的意思是:
- 我们有一个存储最新版本的服务器,
- 在我的一天中,有时我想提交我的更改,
- 在我完成了我所做的一切之后,我想与他人同步,
- 如果没有出现问题,我希望无需额外步骤即可继续工作。
在梦幻世界中,这个应该只用一个命令完成,就像"git snap",它应该管理所有步骤;当然,当出现问题时(无法自动解决的冲突),它会给我一条错误消息,我会开始用艰难的方式来做。 (是的,我可以做到,我每天都在使用 git,只是想让它变得不费力。)
那么,实现这一目标的最简单方法是什么?也许是一批?一系列 git 命令,例如 stash + pull + stashpop + commit,或 commit + pull + push?在没有不良冲突发生的乐观情况下,是否有自动执行此操作的方法?
我现在正在 git 与 3 个不同的客户端(SourceTree、GitExtensions、TortoiseGIT)一起使用,但它们都没有让我的生活变得如此简单。我不想一直手动隐藏,我对详细消息不感兴趣,只有一个命令,要么全部完成,要么由于某种原因失败。
有办法吗?
我能想到的唯一选择是 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 客户端,它非常简单并且集成得很好。但是,它不会为您提供您正在搜索的 "one click operation"。 https://desktop.github.com/
这是一个命令:
git commit -a -m "Commit" && git pull --rebase && git push origin master
您也可能有冲突需要解决。这会变得更难。
请注意,您没有按照应有的方式使用 git。
Git 不应仅用于共享代码或备份您的工作。
问得好!我的生活很轻松,因为我通过 PHPStorm 使用 git。我建议您尝试一下。它自动处理这些,它也有代码完成:P
使用 Makefile 是一个很好的方法。
在尝试了几个月不同的客户端之后,我发现 GitExtensions 最适合轻松同步。当你进行拉取时它有一个 "auto stash" 选项 - 自动保存所有更改,然后从服务器获取新内容,然后将你自己的更改合并回它们(stash pop),所有这些你甚至不需要触摸它想。它还为您提供了一种手动解决冲突的方法(尽管为此您需要一个 compare/merge 工具,例如 TortoiseMerge)。
TLDR:GitExt 似乎是我祈祷的答案。
我的意思是:
- 我们有一个存储最新版本的服务器,
- 在我的一天中,有时我想提交我的更改,
- 在我完成了我所做的一切之后,我想与他人同步,
- 如果没有出现问题,我希望无需额外步骤即可继续工作。
在梦幻世界中,这个应该只用一个命令完成,就像"git snap",它应该管理所有步骤;当然,当出现问题时(无法自动解决的冲突),它会给我一条错误消息,我会开始用艰难的方式来做。 (是的,我可以做到,我每天都在使用 git,只是想让它变得不费力。)
那么,实现这一目标的最简单方法是什么?也许是一批?一系列 git 命令,例如 stash + pull + stashpop + commit,或 commit + pull + push?在没有不良冲突发生的乐观情况下,是否有自动执行此操作的方法?
我现在正在 git 与 3 个不同的客户端(SourceTree、GitExtensions、TortoiseGIT)一起使用,但它们都没有让我的生活变得如此简单。我不想一直手动隐藏,我对详细消息不感兴趣,只有一个命令,要么全部完成,要么由于某种原因失败。
有办法吗?
我能想到的唯一选择是 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 客户端,它非常简单并且集成得很好。但是,它不会为您提供您正在搜索的 "one click operation"。 https://desktop.github.com/
这是一个命令:
git commit -a -m "Commit" && git pull --rebase && git push origin master
您也可能有冲突需要解决。这会变得更难。
请注意,您没有按照应有的方式使用 git。
Git 不应仅用于共享代码或备份您的工作。
问得好!我的生活很轻松,因为我通过 PHPStorm 使用 git。我建议您尝试一下。它自动处理这些,它也有代码完成:P
使用 Makefile 是一个很好的方法。
在尝试了几个月不同的客户端之后,我发现 GitExtensions 最适合轻松同步。当你进行拉取时它有一个 "auto stash" 选项 - 自动保存所有更改,然后从服务器获取新内容,然后将你自己的更改合并回它们(stash pop),所有这些你甚至不需要触摸它想。它还为您提供了一种手动解决冲突的方法(尽管为此您需要一个 compare/merge 工具,例如 TortoiseMerge)。
TLDR:GitExt 似乎是我祈祷的答案。