set*_*thi 0 git push github github-services
是否可以一次运行以下命令:
1. git add . 2. git commit -m "Message" 3. git push orgin/master
我知道前两个可以像这样加入:
git commit -am "Message"
我想在本地提交后推送到远程,而不必完成所有这些步骤.
恕我直言只有这样才有可能
这消除了git为您提供的灵活性和强大功能.
如果是这样,
你可以使用'别名'
所以这样的事情可以做到这一点.
$ gitFunction() {
> git add .
> git commit -m "$1"
> git push origin }
$ alias git-all="gitFunction"
$ git-all 'commit message' //Will do everything for you.
Run Code Online (Sandbox Code Playgroud)
要么
将其添加到.git/config文件中.
[alias]
sync = "!sync() { git add . && git commit -m \"$1\" && git push $2; }; sync"
Run Code Online (Sandbox Code Playgroud)
以后你可以使用
$git sync 'commit message' remote_repo
Run Code Online (Sandbox Code Playgroud)
但你不应该这样做!!
为什么?
虽然不谈这个话题,但我想引用充分理由的原则
没有任何理由或原因
当由Linus设计时,Git因为充分的理由而将这些步骤分开.如果你正在滥用它,那么你将无法充分利用它.因此,遵循最佳实践是好事.
根据你想要实现的目标,你可以将git视为一种工具,将源代码更改上传到远程服务器,这是错误的,并带走了git给你的所有优点.
为什么git add不应该自动化?
git add可以帮助您添加未跟踪的文件/将修改后的文件添加到临时区域.稍后将进入您的提交.做git add .会将所有内容添加到您的临时区域.大多数情况下,你会有一些东西,你不想提交或在特定的提交中.
为什么git commit -m "Message"不应该自动化?
提交消息解释了上次提交后发生的更改.提交消息可帮助其他程序员与您协作以了解您所做的更改.所以你不应该在提交消息中写出无意义
为什么git push不应该自动化?
即使你现在的逻辑,如果你不是唯一为项目做贡献的程序员,这一步也应该失败.所以遥控器会有变化,你应该拉.在最好的情况下,会发生自动合并,您可以直接执行git push作为下一步.但是在发生冲突的情况下,您需要解决冲突,然后提交更改,合并然后推送(顺便说一句,如果可能的话,不容易自动化).
此外,你不会推进同一个遥控器,你不会一直推动同一个分支.所有这些都是可变的,需要开发人员的决定.
所以,试着理解Git,然后再考虑一下这些.
阅读Pro Git它是免费的,是关于git的最佳书籍.