我试图用git pull命令从存储库中提取数据。这个命令给了我一个错误
error: Your local changes to the following files would be overwritten by merge:
public_html/sites/file
public_html/sites/file1.txt
public_html/sites/file2.txt
Please, commit your changes or stash them before you can merge.
Aborting
为了解决这个问题,我使用了以下两个命令。
Step1
1)git add .
2)git commit -m "my first commit"
然后我做了
step2
git pull origin master
现在everthing工作正常,但问题是我错误地在step1中提交了一些文件(通过使用命令“git add。”和git commit -m“我的第一次提交”)“。
现在如果假设我发出了“git push origin master”命令,则那些不需要的文件(在步骤1中提交)将被推送到存储库。
我不希望将这些不需要的文件(在步骤1中提交)推送到存储库。
答案 0 :(得分:2)
您要重置提交,以便只添加您想要推送的文件,
git reset --soft HEAD^
然后你要删除意外添加的文件,
git rm --cached list_of_files_you_added_accidentally
再次提交,
git commit -m "your commit message"
或者,取消暂存所有文件并仅添加您想要推送的内容,
git add file_1 file_2 ...
答案 1 :(得分:2)
如果您所做的唯一提交是“我的第一次提交”,并且您想从中排除某些文件,则可以执行以下操作:
git reset --hard # undo the pull
git reset --mixed HEAD~ # undo the commit, unstash all the files
git add file1, dir2 ... # add just the files you want
git commit -m "some msg" # then commit and push as normal...
git pull origin master
git push