我完全不理解git提交(I at git commit )。
自从我使用git已经有一个星期了,所有这些git在-a,-m,新文件,未跟踪的等等让我完全迷惑了。Tortoisegit暂时拯救了我,但我想理解它的本质,并以一种完全简单的方式使用它。
当我在git命令行中时,很难有选择地提交一些文件,并保留其余的文件供下一次提交。我怎么才能让这一切变得简单呢?
发布于 2011-04-12 02:50:43
这很简单。您需要首先添加要对索引执行操作的更改:
git add file1 file2
然后
git commit
如果您删除了一个文件,add将执行此操作。Add意味着“add change”,即使它是一个删除。
如果要添加所有更改:
git add -A
提交时, -a
参数表示添加跟踪文件的所有更改并提交它们。所以
git commit -a
不会提交您创建的新文件。您必须显式添加此内容。
使用-m
参数,您可以避免打开编辑器来编辑提交消息,并使用您在-m
选项之后输入的内容:
git commit -m "Use this message and don't open the editor"
有时这不是一个好主意。如果你刚刚尝试了一次合并,并且有冲突提交,一旦你解决了冲突并提交,git会为你缓存一条非常好的消息。所以有一个git commit
更好。
要有选择地添加文件,请在git add上使用patch修改器:
git add -p
现在,将提示您有关文件的信息。这非常强大,因为您还可以指定文件的某些部分,或者编辑要添加到索引中的内容。git提交只会添加这些内容。
如果你需要一些不是的gui帮助(避免windows shell集成),可以使用git gui
。
下图解释了索引(或暂存文件):
(来自http://progit.org/book/ch2-2.html)
希望这能有所帮助。
发布于 2011-04-12 02:50:34
您可以通过键入git commit --help
(也可以是here)来查看git commit
的手册页。
要添加要提交的文件,请使用git add
,或者,如果文件已在存储库中,则-a
标志将为您提供帮助。
-m
将一条消息标记到您的提交。
如果您想有选择地选择文件,请使用git add
,然后使用不带-a
标记的git commit
(这将向存储库中存在的文件添加所有更改)。
我个人也使用-s
选项,如果您的git配置中有signed off by <your.email@gmail.com>
的话,它会在末尾添加signed off by <your.email@gmail.com>
。如果不是,就使用git config --global user.email your.email@google.com
。
发布于 2018-06-03 03:50:15
在git中提交文件非常简单。对于添加文件,我们有以下命令
git add file1 file2
或者,如果您只想一次添加所有文件,则可以通过
git add *
然后就是提交了。根据专业人士的说法,您需要使用提交添加消息,以便更容易跟踪您提交的内容。为此,您可以使用
git commit -m "your message"
如果要提交使用git add
添加的任何文件,也要提交此后更改的任何文件。您可以使用
git commit -a
如果您想要已更改的文件以及仍需要添加或提交的文件的列表。您可以使用
git status
并将您的更改发送到远程存储库的主分支。该命令为
git push origin master
希望这能帮助你理解git的添加、提交和推送的概念。同时也解决了你的问题。
https://stackoverflow.com/questions/5625934
复制相似问题