我有一个服务器,其中有一些配置,我不知道我只是git pull,它获取github仓库中的内容,然后重新启动它以便部署。
问题是,有一个不是我最新的提交,它实际上并不在我的服务器上。这些文件不在.gitignore中。我如何确保拉动,拉动提交?
我真的不知道如何修复它,我正在考虑重新开始一切:(
14:41][root@someserver] someserver_dir (master)$ git status
# On branch master
# 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: Gemfile
# modified: Gemfile.lock
# modified: config/assets.yml
# modified: config/database.yml
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# randomfiles
答案 0 :(得分:80)
如果您总是希望您的服务器版本反映您的repo的提交,那么使用git reset
代替git pull
可能更好 - 这样您就不会调用合并功能,而是将所有文件设置为您重置的提交中的文件。例如:
git fetch origin master
git reset --hard FETCH_HEAD
答案 1 :(得分:-1)
您可以使用git pull origin branch_name of the github
。
例如:如果我在GitHub上有一个生产分支,那么我将编写git pull origin production
,它将为我提供所有最新的提交。
即使您在生产分支上进行工作并进行提交,仅执行git pull
有时也不会给您最新的生产分支提交。