Git拉不拉一切

时间:2012-03-13 17:19:55

标签: git

我有一个服务器,其中有一些配置,我不知道我只是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

2 个答案:

答案 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有时也不会给您最新的生产分支提交。