当git中有多个文件更改时,如何只向远程存储库添加和提交一个文件
我知道以前有人问过我的问题,但其他问题的一些评论让我感到困惑,所以我想在使用git命令之前确保我的想法是正确的 假设我有3个文件(有更改),当git中有多个文件更改时,如何只向远程存储库添加和提交一个文件,git,Git,我知道以前有人问过我的问题,但其他问题的一些评论让我感到困惑,所以我想在使用git命令之前确保我的想法是正确的 假设我有3个文件(有更改),file1.java,file2.txt和file3.java。我只想将我对file1.java所做的更改提交到远程repo,但我不想从本地机器上删除其他两个文件的更改。如何仅提交file1.java 根据我所阅读的内容,下面的命令将起作用 #1 git add file1.java git commit -m "Comments" 但后来我看到有人在评论
file1.java
,file2.txt
和file3.java
。我只想将我对file1.java
所做的更改提交到远程repo,但我不想从本地机器上删除其他两个文件的更改。如何仅提交file1.java
根据我所阅读的内容,下面的命令将起作用
#1
git add file1.java
git commit -m "Comments"
但后来我看到有人在评论
This is regular git commit, but for partial file commit -p or -e is needed
我看到的另一个解决方案是
#2
git add file01.txt
git stash
git commit -m'commit message'
git stash pop
什么是正确的命令?他们都对吗?我怀疑通过执行git commit,即使我只添加了一个文件,它仍然会提交所有更改(即所有3个文件)对于那些可能像我一样困惑的人,下面是为我做的。但其他解决方案也可能奏效
git add file1.java
git commit -m "Comments"
#1号好
git add file
(与git stage file
相同)将文件的当前状态添加到索引中git提交
提交索引的状态。由于您没有git add file2.java
,因此该文件中的任何更改都不在索引中,也不会由git commit
提交。没有必要在提交时隐藏/弹出。这是一个不理解git的人。