放弃使用Github对单个本地文件所做的更改

时间:2015-03-28 07:21:12

标签: git github version-control

我对本地index.html和其他文件进行了一些更改。

我不需要对index.html进行更改,我只想从服务器中提取所有新代码:

C:\G>git pull origin master
Username for 'https://github.com': xx
Password for 'https://xx':
remote: Counting objects: 21, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 21 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (21/21), done.
From https://github.com/xx
 * branch            master     -> FETCH_HEAD
   59be7d8..083e776  master     -> origin/master
Updating 59be7d8..083e776
error: Your local changes to the following files would be overwritten by merge:
        WebUserApp/index.html
Please, commit your changes or stash them before you can merge.
Aborting

C:\G\abilitest-user>git stash WebUserApp/index.html
usage: git core\git-stash list [<options>]
   or: git core\git-stash show [<stash>]
   or: git core\git-stash drop [-q|--quiet] [<stash>]
   or: git core\git-stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
   or: git core\git-stash branch <branchname> [<stash>]
   or: git core\git-stash [save [--patch] [-k|--[no-]keep-index] [-q|--quiet]
                       [-u|--include-untracked] [-a|--all] [<message>]]
   or: git core\git-stash clear

C:\G>

错误消息对我没有任何帮助。有人可以给我建议怎么做?我怎么能告诉git忘记我对本地index.html的更改,以便我可以从服务器上拉取下载。如果我覆盖index.html

,我不介意

2 个答案:

答案 0 :(得分:3)

如果您根本不想保留这些更改,请对特定文件执行git checkout

git checkout WebUserApp/index.html

这会将index.html恢复到分支上最后一次提交的状态。如果您已使用git add WebUserApp/index.html添加了这些更改,则可以使用git reset HEAD WebUserApp/index.html

取消添加

如果您想暂时删除它们,并在以后重新应用它们,请使用git stash(当前未正确使用)

git stash

完成拉/合并后,您可以使用

重新应用更改
git stash pop

请注意,git stash会修改所有已修改的跟踪文件的更改,因此它不会接受任何文件参数,这与您在git stash WebUserApp/index.html

中提供的内容不同

答案 1 :(得分:0)

如果您的本地文件中不需要任何未提交的更改,则可以使用带结帐的-f选项将其丢弃:

git checkout -f