我有两个项目。一个是“官方”项目,第二个是轻微的修改(添加了一些文件)。我创建了新的分支,并将新文件放入其中。但是在开发过程中,两个分支共用的一些文件被更改了。

如何只提交这些文件?


当前回答

假设你对多个文件做了修改,比如:

File1 File2 File3 File4 File5

但是您只想提交对File1和File3的更改。

有两种方法:

1.只运行这两个文件,使用:

git add file1 file3

然后,提交

git commit -m "your message"

然后推,

git push

2.直接提交

git commit file1 file3 -m "your message"

然后推,

git push

实际上,第一种方法是有用的情况下,如果我们定期修改文件和分期它们->大型项目,通常是活动项目。 但如果我们正在修改文件,而不是暂存它们,那么我们可以直接提交

其他回答

你可以提交一些更新的文件,像这样:

git commit file1 file2 file5 -m "commit message"

有些内容似乎“不完整”

一群人不知道他们是否应该使用引号等。

添加一个显示位置路径的特定文件

git add JobManager/Controllers/APIs/ProfileApiController.cs

提交(请记住,提交只是本地的,它不会影响任何其他系统)

git commit -m "your message"  

推送到远程回购

git push  (this is after the commit and this attempts to Merge INTO the remote location you have instructed it to merge into)

其他答案(s)显示藏匿等,你有时会想这样做

我猜想您希望将更改提交到一个分支,然后使这些更改在另一个分支中可见。在git中,当你改变分支时,你应该在HEAD顶部没有任何变化。

你只提交修改过的文件:

git commit [some files]

或者如果你确定你有一个干净的暂存区域,你可以

git add [some files]       # add [some files] to staging area
git add [some more files]  # add [some more files] to staging area
git commit                 # commit [some files] and [some more files]

如果你想让这个提交在两个分支上都可用,你就得这么做

git stash                     # remove all changes from HEAD and save them somewhere else
git checkout <other-project>  # change branches
git cherry-pick <commit-id>   # pick a commit from ANY branch and apply it to the current
git checkout <first-project>  # change to the other branch
git stash pop                 # restore all changes again

假设你对多个文件做了修改,比如:

File1 File2 File3 File4 File5

但是您只想提交对File1和File3的更改。

有两种方法:

1.只运行这两个文件,使用:

git add file1 file3

然后,提交

git commit -m "your message"

然后推,

git push

2.直接提交

git commit file1 file3 -m "your message"

然后推,

git push

实际上,第一种方法是有用的情况下,如果我们定期修改文件和分期它们->大型项目,通常是活动项目。 但如果我们正在修改文件,而不是暂存它们,那么我们可以直接提交

如果你已经有了暂存文件,只需取消它们:

git reset HEAD [file-name-A.ext] [file-name-B.ext]

然后一点一点地把它们放回去。