如何提交暂存文件并排除已修改的文件
如何提交已暂存文件并排除已修改文件
当你执行git commit
(没有指定路径)时,你只提交已暂存的更改。因此,为了不提交a.txt
的新更改,而不是执行git ci a.txt
,只需执行git commit
,这将不会提交新的未暂存更改。
但是,有2个文件a.txt
和vimrc
,如果我输入git ci
,那么这两个已暂存的文件将被提交,如何只提交已暂存的a.txt
?谢谢。
在这种情况下,您应该取消暂存vimrc
文件。git reset HEAD vimrc
将为您执行此操作,请检查执行git status
时显示的帮助消息是否确实如此。
那么,没有办法只提交部分已暂存的文件
,对吗?
一旦你对它们进行了暂存,我认为没有办法这样做。但是你可以部分暂存文件。如果你执行git add -p a.txt
,它将逐个处理每个补丁,并允许你决定是否暂存它。
一个解决方法是git stash --keep-index && git commit a.txt && git stash pop
。注意,存储将以当前的HEAD
为父级,并且git stash pop
将导致已暂存和未暂存的文件出现合并冲突的情况。
问题的出现原因:用户想知道如何提交已经暂存的文件,并排除已修改的文件。
解决方法如下:
1. 使用git add a.txt
命令将文件a.txt添加到Git中,这意味着Git将开始跟踪该文件的任何更改。这个操作仅适用于新创建的文件。使用git add .
命令将添加该文件夹级别中的所有文件。
2. 使用git commit -m "Initial commit"
命令将当前文件提交并推送到暂存区。如果有旧文件b.txt和c.txt已经被Git跟踪并包含更改,你需要分别提交它们。命令如下:git commit -m "Issues fixed /path/b.txt /path/c.txt"
。
3. 如果远程仓库发生了变化,使用git pull
命令拉取最新代码,然后使用git push
命令推送所有三个文件a.txt、b.txt和c.txt到远程仓库。