有没有办法在一个中使用这三个命令?
git add .
git commit -a -m "commit" (do not need commit message either)
git push
Run Code Online (Sandbox Code Playgroud)
有时我只改变一个字母,CSS填充或其他东西.不过,我必须编写所有三个命令来推动更改.有很多项目,我只有一个推动者,所以这个命令会很棒!
bts*_*tse 216
建立@Gavin的答案:
使lazygit成为函数而不是别名允许你传递一个参数.我已将以下内容添加到我的.bashrc(如果是Mac,则添加.bash_profile):
function lazygit() {
git add .
git commit -a -m "$1"
git push
}
Run Code Online (Sandbox Code Playgroud)
这允许您提供提交消息,例如
lazygit "My commit msg"
Run Code Online (Sandbox Code Playgroud)
你当然可以通过接受更多的参数来加强这一点,比如要推送到哪个远程位置,或者哪个分支.
小智 81
我最后在我的.gitconfig文件中添加了一个别名:
[alias]
cmp = "!f() { git add -A && git commit -m \"$@\" && git push; }; f"
Run Code Online (Sandbox Code Playgroud)
用法: git cmp "Long commit message goes here"
添加所有文件,然后使用提交消息的注释并将其推送到源.
我认为这是一个更好的解决方案,因为您可以控制提交消息的内容.
别名也可以从命令行定义,这会将其添加到您的.gitconfig:
git config --global alias.cmp '!f() { git add -A && git commit -m "$@" && git push; }; f'
Run Code Online (Sandbox Code Playgroud)
Til*_*gel 47
虽然我同意Wayne Werner的疑虑,但这在技术上是一个选择:
git config alias.acp '! git commit -a -m "commit" && git push'
Run Code Online (Sandbox Code Playgroud)
它定义了运行的别名commit和push.用它作为git acp.请注意,此类"shell"别名始终从您的git存储库的根目录运行.
另一种选择可能是编写一个推送后提交钩子.
Way*_*ner 35
我想你可能会误解git的工作流程.(为了澄清/纠正我在评论中的意思,你不需要git add .,因为commit -a通常用于相同的目的 - 添加尚未上演的任何更改,如果已经添加了文件)
通常你会做这样的事情:
# make some changes
$ git commit -a -m "Changed something"
# make some more changes
$ git commit -a -m "Changed something else"
Run Code Online (Sandbox Code Playgroud)
洗完,冲洗,重复,直到你完成X特征,或者你处于停止点,或者你只是想让其他人看到你做了什么.然后你做
$ git push
Run Code Online (Sandbox Code Playgroud)
Git不是SVN - 但似乎你正在尝试使用它.你可以在文章的末尾找到一些资源在这里是一些使用的.
Raj*_*shi 34
我在.bash_profile中使用它
gitpush() {
git add .
git commit -m "$*"
git push
}
alias gp=gitpush
Run Code Online (Sandbox Code Playgroud)
它执行就像
gp A really long commit message
Run Code Online (Sandbox Code Playgroud)
source ~/.bash_profile保存别名后别忘了运行.
vuh*_*990 25
您可以使用bash脚本,设置别名以启动任何命令或命令组
git commit -am "your message" && git push
Run Code Online (Sandbox Code Playgroud)
Gav*_*vin 18
在bash中设置为别名:
$ alias lazygit="git add .; git commit -a -m '...'; git push;";
Run Code Online (Sandbox Code Playgroud)
叫它:
$ lazygit
Run Code Online (Sandbox Code Playgroud)
(要使此别名成为永久性的,您必须将其包含在.bashrc或.bash_profile中)
mic*_*czy 15
最简单的解决方案是:
git commit -a -m "commit" && git push
Run Code Online (Sandbox Code Playgroud)
git add 已包含在-a参数中,但如果您需要,可以将它们全部连接起来:
git add . && git commit -a -m "commit" && git push
Run Code Online (Sandbox Code Playgroud)
mcv*_*vkr 10
如果你想更好地编辑提交消息,我的意思是添加多行等等.然后
git commit -am "IssueNumberIAmWorkingOn --hit Enter key
> A detail here --Enter
> Another detail here --Enter
> Third line here" && git push --last Enter and it will be there
Run Code Online (Sandbox Code Playgroud)
将打开编辑器,一旦你保存消息它也将推动它.
在Linux/Mac中,这个非常实用的选项也应该可行
git commit -a && git push
Run Code Online (Sandbox Code Playgroud)
你可以试试gitu.
这是第一次(必须安装节点js):
npm install -g git-upload
Run Code Online (Sandbox Code Playgroud)
之后:
gitu COMMIT_MSG
Run Code Online (Sandbox Code Playgroud)
一次发出这三个命令.
好处是您在重新安装系统时或者想要在不同的计算机上执行此操作时不必担心,并且不需要修改文件.
这也适用于不同的平台(不仅仅是Linux和Mac,还有命令提示符下的Windows cmd和Windows powershell),只需要安装npm和nodejs(git当然).
如果您使用的是 Mac:
启动终端并输入cd ~/以转到您的主文件夹
键入touch .bash_profile以创建新文件。
使用您最喜欢的编辑器进行编辑.bash_profile(或者您可以直接键入
open -e .bash_profile以在 TextEdit 中打开它)。
将以下内容复制并粘贴到文件中:
Run Code Online (Sandbox Code Playgroud)function lazygit() { git add . git commit -a -m "$1" git push }
之后,重新启动终端并只需添加、提交并推送一个简单的命令,例如:
lazygit "This is my commit message"
Run Code Online (Sandbox Code Playgroud)
如果文件已经被跟踪,那么你不需要运行git add,你可以简单地写git commit -am 'your message'
如果您不想编写提交消息,可以考虑做类似的事情
git commit --allow-empty-message -am ''
结果 -试试这个:为 git add、git commit 和 git push 编写一个简单的脚本命令
在 Windows 上打开 CMD 并粘贴此答案
git commit -m "your message" . && git push origin master
这个例子是我的图片截图: https: //i.stack.imgur.com/2IZDe.jpg