如何使用单个命令暂存和提交所有文件,包括新添加的文件?

我的未来我决定 提交于 2020-02-26 07:40:32

如何使用单个命令暂存和提交所有文件,包括新添加的文件?


#1楼

在git中提交可以是一个多步骤过程,也可以是一个步骤,具体取决于具体情况。

  1. 这种情况是您有多个文件更新并想要提交:

    您必须在提交任何内容之前添加所有已修改的文件。

    git add -A

    要么

    git add --all
  2. 之后,您可以使用提交所有添加的文件

    git commit

    有了这个,你必须为这个提交添加消息。


#2楼

如果您只想要一种“快速而又脏”的方法来隐藏当前分支上的更改,则可以使用以下别名:

git config --global alias.temp '!git add -A && git commit -m "Temp"'  

运行该命令后,您只需键入git temp即可让git自动将对当前分支的所有更改提交为名为“Temp”的提交。 然后,您可以使用git reset HEAD~稍后“ git commit --amend提交”更改,以便您可以继续处理它们,或者git commit --amendgit commit --amend添加更多更改和/或为其指定正确的名称。


#3楼

是否

git add -A && git commit -m "Your Message"

算作“单一命令”?

根据@thefinnomenon的答案编辑如下

要将它作为git alias ,请使用:

git config --global alias.coa '!git add -A && git commit -m'

并使用以下消息提交所有文件(包括新文件):

git coa "A bunch of horrible changes"

解释 (来自git add文档 ):

-A, - all, - no-ignore-removal

不仅更新工作树具有文件匹配的索引,还更新索引已有条目的位置。 这将添加,修改和删除索引条目以匹配工作树。

如果在使用-A选项时未给出<pathspec> ,则更新整个工作树中的所有文件(旧版本的Git用于限制对当前目录及其子目录的更新)。


#4楼

您可以编写一个名为git-commitall的小脚本(请参阅Ian Clelland的回答),该脚本使用几个git命令来执行您想要执行的操作。
将此脚本放在$PATH中的任何位置。 你可以通过git commitall来调用它......非常方便!

这里找到(问题和所有答案不幸删除,只有高声誉可见)


#5楼

我用这个函数:

gcaa() { git add --all && git commit -m "$*" }

在我的zsh配置文件中,所以我可以这样做:

> gcaa This is the commit message

自动暂存和提交所有文件。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!