我如何只提交一些文件?

我有两个项目。 一个是“官方”项目,第二个是轻微的修改(添加了一些文件)。 我创build了新的分支,我把新的文件给他们。 但是在开发过程中,两个分支公用的一些文件被改变了。

我如何只提交这些文件?

我想你想要将更改提交到一个分支,然后使这些更改在其他分支中可见。 在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 

获取你想提交的文件列表

 $ git status Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: file1 modified: file2 modified: file3 modified: file4 

将文件添加到分段

 $ git add file1 file2 

检查一下你正在提交的内容

 $ git status Changes to be committed: (use "git reset HEAD <file>..." to unstage) modified: file1 modified: file2 Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: file3 modified: file4 

用提交消息提交文件

 $ git commit -m "Fixed files 1 and 2" 

如果你不小心提交了错误的文件

 $ git reset --soft HEAD~1 

如果你想取消这些文件并重新开始

 $ git reset Unstaged changes after reset: M file1 M file2 M file3 M file4 

你可以提交一些更新的文件,如下所示:

 git commit file1 file2 file5 -m "commit message" 

如果您已经上传文件,只需简单地取消它们:

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

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

有些似乎“不完整”

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

添加 1个特定的文件,显示位置path

 git add JobManager/Controllers/APIs/ProfileApiController.cs 

承诺

 git commit -m "your message" 

推到远程回购

 git push 

其他答案显示你有时会想要做的储藏

假设您对多个文件进行了更改,如:File1 File2 File3 File4 File5

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

有两种方法可以做到这一点:1>使用:git add file1 file2来只播放这两个文件

然后,提交git commit -m“你的消息”

然后推git推

2>直接提交

git commit file1 file3 -m“my message”

然后推,混帐推

其实第一种方法是有用的,如果我们经常修改文件,并暂存它们 – >大型项目,通常是实时项目。 但是,如果我们修改文件,而不是暂存它们,那么我们可以直接提交 – >小型项目