是否可以一次运行以下命令:
1. 混帐添加。 2. git commit -m "消息" 3. git push 源/主
我知道前两个可以像这样加入:
git commit -am "消息"
我想在本地提交后推送到远程,而不必完成所有这些步骤。
是否可以一次运行以下命令:
1. 混帐添加。 2. git commit -m "消息" 3. git push 源/主
我知道前两个可以像这样加入:
git commit -am "消息"
我想在本地提交后推送到远程,而不必完成所有这些步骤。
恕我直言,这将是可能的,只有
这剥夺了 git 给你的灵活性和力量。
如果是这样,
你可以使用“别名”
所以像这样的东西可以完成这项工作。
$ gitFunction() {
> git add .
> git commit -m "$1"
> git push origin }
$ alias git-all="gitFunction"
$ git-all 'commit message' //Will do everything for you.
或者
将此添加到您的 .git/config 文件中。
[alias]
sync = "!sync() { git add . && git commit -m \"$1\" && git push $2; }; sync"
以后可以使用
$git sync 'commit message' remote_repo
但你不应该这样做!!
为什么?
虽然题外话,但我很想引用充分理由原则
没有什么是无缘无故的
由 Linus 设计的 Git 有充分的理由将这些步骤分开。如果您滥用它,那么您将无法充分发挥它的潜力。所以最好遵循最佳实践。
从您打算实现的目标来看,您将 git 视为将源代码更改上传到远程服务器的工具,这是错误的,并带走了 git 给您的所有好处。
为什么git add
不应该自动化?
git add 帮助您添加未跟踪的文件/将修改的文件添加到暂存区。稍后将进入您的提交。这样做git add .
会将所有内容添加到您的暂存区域。大多数时候你会有一些东西,你不想提交或在特定的提交中出现。
为什么git commit -m "Message"
不应该自动化?
提交消息解释了上次提交后发生的更改。提交消息可帮助与您合作的其他程序员了解您所做的更改。所以你不应该在提交信息中写出无意义的东西
为什么git push
不应该自动化?
即使按照您目前的逻辑,如果您不是唯一为该项目做出贡献的程序员,此步骤也应该失败。所以远程会有变化,你应该拉。在最好的情况下会发生自动合并,您可以直接执行 git push 作为下一步。但是如果发生冲突,您需要解决冲突,然后提交更改,合并然后推送(顺便说一下,如果可能的话,这不容易自动化)。
此外,您不会推送到同一个遥控器,也不会一直推送同一个分支。所有这些事情都是可变的,需要开发人员的决定。
所以,试着理解 Git,然后再考虑这些。
阅读Pro Git,它是关于 git 的免费和最佳书籍。
你可以定义一个别名,它接受一个参数,就像这里详细描述的那样
在你的情况下,我相信这应该有效
[alias]
acp = "!f() { git add . && git commit -m \"$1\" && git push origin/master; }; f"
那么你可以调用它
git acp "commit message"
此外,请查看Git 文档中的别名可以使用哪些技巧,这是非常有用的工具。