Git添加和提交一个命令
有什么办法可以做吗?
git add -A git commit -m "commit message"
在一个命令?
我似乎在做这两个命令很多,如果Git有一个像git commit -Am "commit message"
的选项 – git commit -Am "commit message"
,它会让生活变得更加方便。
git commit
具有-a
修饰符,但是在提交之前做git add -A
并不完全相同。 git add -A
添加新创build的文件,但是git commit -am
不会。 什么?
你可以使用git别名,例如
git config --global alias.add-commit "!git add -A && git commit"
和它一起使用
git add-commit -m "My commit message"
编辑:更新为使用双引号(“),而不是蜱('),因为这已报告也在Windows上工作(请参阅评论)。
git commit -a -m "message"
是一个简单的方法告诉git删除你已经删除的文件,但我通常不build议这样的捕获所有工作stream程。 git提交在最佳实践中应该是相当primefaces的,只影响一些文件。
git add . git commit -m "message"
是添加新的或修改的所有文件的简单方法。 上面的通用资格也适用。 不会删除没有使用git rm
命令删除的文件。
git add app git commit -m "message"
是一个简单的方法来添加所有文件到索引从一个单一的目录,在这种情况下,应用程序目录。
为了保持一行使用:
git add . && git commit -am "comment"
这一行将添加和提交所有更改和添加的文件到存储库。
只要结合你的命令:
git add -A && git commit -m "comment"
在后来的git版本中,你可以像这样添加和提交
git commit -a -m "commit message"
另外你的别名:
[alias] ac = commit -a -m
那么你可以像这样使用它:
git ac "commit message"
在我的Windows机器上,我设置了这个.bashrc
别名,使整个过程更加简单。
- 创build/定位你的
.bashrc
– 参考SO线程 -
将以下行添加到文件
alias gacp='echo "enter commit message : " && read MSG && git add . && git commit -m "$MSG" && git push'
它做git添加提交和推送。 以任何方式调整它,说你不希望push命令删除那部分
-
重新加载
.bashrc
/closures并重新打开你的shell - 现在你可以用
gacp
命令完成整个过程。
我做了一个shell
#!/bin/sh clear git add -A git commit -a -m "'$*'"
保存例如git.sh和稍后调用:
sh git.sh your commit message
如果你input:
git config --global alias.a '!git add -A && git commit -m'
一次,你只需要input
git a
每次:
git a 'your comment'
我在.bash_profile
或.profile
或.zprofile
有这个函数,或者是在loginshell中find的东西。
function gac () { # Usage: gac [files] [message] # gac (git add commit) stages files specified by the first argument # and commits the changes with a message specified by the second argument. # Using quotes one can add multiple files at once: gac "file1 file2" "Message". git add $1 && git commit -m "$2" }
我使用以下(都在进行中,所以我会尝试记住更新):
# Add All and Commit aac = !echo "Enter commit message:" && read MSG && echo "" && echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"$MSG\" && echo "" && echo "New status:" && echo "===========" && git status # Add All and Commit with bumpted Version number aacv = !echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"Bumped to version $(head -n 1 VERSION)\" && echo "" && echo "New status:" && echo "===========" && git status
随着echo "Enter commit message:" && read MSG
由Sojan V Jose启发的echo "Enter commit message:" && read MSG
部分
我很想在那里得到一个if else
语句,所以我可以让aacv问我是否要在部署完成后部署,如果键入'y',那么我会这样做,但我想我应该把它放在我的.zshrc
文件
我使用下面的别名来添加所有和提交 :
git config --global alias.ac '!git add -A && git commit -a'
然后,通过input:
git ac
我得到一个vim窗口来获取更多的编辑工具,我的提交信息。
很确定你可以使用:
git commit -am "commit all the things"
只有修改了Ales的答案和linuximabash的评论:
为了保持一行使用:
git commit -am "comment"
这一行将添加和提交所有更改为存储库。
只要确保没有新的文件 ,git还没有拿起。 否则你需要使用:
git add . ; git commit -am "message"
我使用这个混帐别名:
git config --global alias.cam '!git commit -a -m '
所以,而不是打电话
git add -A && git commit -m "this is a great commit"
我只是做:
git cam "this is a great commit"
你可以使用git commit -am“[comment]” //最好的解决scheme或git add。 && git commit -m“[comment]”
- 键入
git add . && git commit -am
git add . && git commit -am
并input - 键入
history
并进入 - 记住上面的命令的号码,比如说号码是
543
- 从现在开始,对于每一个提交types
!543 "your comment here"
即惊叹号+数字和空格以及你的评论。
为了保持一行使用:
gacm "your comment"