git:我如何获得我的代码的最新版本?

我正在使用Git 1.7.4.1。 我想从存储库中获取我的代码的最新版本,但我收到错误...

$ git pull
….
M   selenium/ant/build.properties
….
M   selenium/scripts/linux/get_latest_updates.sh
M   selenium/scripts/windows/start-selenium.bat
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as appropriate to mark resolution, or use 'git commit -a'.

我删除了该工具所抱怨的文件的本地副本,但我仍然收到错误消息。 如何从远程回购中检出最新版本? - 戴夫


如果您不关心任何本地更改(包括刚刚发生的未跟踪或生成的文件或子存储库),并且只想从回购中获取副本:

git reset --hard HEAD
git clean -xffd
git pull

再次,这将会导致您在本地做出的任何更改,请谨慎使用。 这样做时rm -Rf考虑rm -Rf


案例1:不关心本地变化

  • 解决方案1:获取最新的代码并重置代码

    git fetch origin
    git reset --hard origin/[tag/branch/commit-id usually: master]
    
  • 解决方案2:删除文件夹并再次克隆:D

    rm -rf [project_folder]
    git clone [remote_repo]
    
  • 案例2:关心本地变化

  • 解决方案1:与新在线版本不冲突

    git fetch origin
    git status
    

    将会报告如下内容:

    Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
    

    然后获取最新版本

    git pull
    
  • 解决方案2:与新的在线版本冲突

    git fetch origin
    git status
    

    将会报告如下内容:

    error: Your local changes to the following files would be overwritten by merge:
        file_name
    Please, commit your changes or stash them before you can merge.
    Aborting
    

    提交您的本地更改

    git add .
    git commit -m ‘Commit msg’
    

    尝试获取更改(将失败)

    git pull
    

    将会报告如下内容:

    Pull is not possible because you have unmerged files.
    Please, fix them up in the work tree, and then use 'git add/rm <file>'
    as appropriate to mark resolution, or use 'git commit -a'.
    

    打开冲突文件并解决冲突。 然后:

    git add .
    git commit -m ‘Fix conflicts’
    git pull
    

    将会报告如下内容:

    Already up-to-date.
    
  • 更多信息:如何使用'git reset --hard HEAD'恢复到以前的提交?


    我怀疑发生了什么事情可能是因为你删除了你修改过的文件(因为你不关心这些修改),现在git正在删除这个修改。

    这是一种将你的修改从你的工作副本移动到“隐藏”(如果事实证明你再次需要它们)的方法,那么你可以从上游取下最新的变化。

    git stash  
    git pull
    

    如果您想要检索文件(与上游更改和所有文件可能存在冲突),请运行git stash apply将这些更改git stash apply在代码顶部。 这样,你有一个“撤消”的方法。

    链接地址: http://www.djcxy.com/p/37805.html

    上一篇: git: How do I get the latest version of my code?

    下一篇: How to hash long passwords (>72 characters) with blowfish