我想提交除一个文件以外的所有文件。我可以使用GitHub for Windows客户端吗?还是需要使用命令行?如果需要使用命令行,我该如何使用?
我想提交除一个文件以外的所有文件。我可以使用GitHub for Windows客户端吗?还是需要使用命令行?如果需要使用命令行,我该如何使用?
If you only want to exclude the file for a little time (maybe one commit) and add it in a future commit you can execute the following commands:
git add .
git reset filename
git commit -m "commit message"
The first command adds all files to the staging area. Then the second command removes the one file from the staging area. This means the file is not added in the commit but the changes to it are preserved on your local drive.
If the file is already committed to the repository but you only sporadically want to commit further changes of the file, you can use git update-index --assume-unchanged
in this way:
`git update-index --assume-unchanged filename`
If you then change the file locally it will not get added to the staging area when you execute something to add all files, like git add .
. When, after some time, you want to commit changes to the file again, you can run git update-index --no-assume-unchanged filename
to stop ignoring the changes.
You can use the .gitignore
file if you don't want to track a file at all. To ignore a file named filename
you create, or edit, a file called .gitignore
. Put filename
on a line of its own to ignore that file. Now the file is not added to the staging area when you execute git add .
. Remark: If the file is already checked in you have to remove it from the repository to actually start ignoring it. Execute the following to do just that:
`git rm --cached filename`
The --cached
option specifies that the file should only be removed from the index. The local file, whether changed or not, will stay the same. You can add the .gitignore
file and commit to make the file get ignored at other machines, with the same repository, as well.
If you want to ignore an untracked file but don't want to share this ignoring with other repository contributors you can put the names of ignored files into the file .git/info/exclude
. The .git
directory is normally hidden but you can make it visible by altering the folder options. As with the .gitignore
file, you have to execute git rm --cached filename
if the file was already checked in by a previous commit.
一些注释:
filename
更改为要排除的文件的实际名称。filename
即可。在Git Shell中打开
。现在,您位于git存储库的根目录,并且可以开始执行本答案中显示和描述的命令。更新:这是“旧方法”。现在有一个命令叫做git reset
,你应该使用它,因为它可以避免删除你想要提交的文件的风险。
我会做以下操作:
git add .
git checkout filename
git commit -m "commit message"
git checkout filename
git commit -am "commit message"
git commit -am 同时添加文件并提交消息。
如果您需要撤销上一个文件中所做的更改:
git stash -u