2016-08-13 43 views
0

我被困在那很长一段时间,不能找到解决方案 我有一个分支名为mastergit命令获取远程更改不管是什么

我在文件夹application与一些较旧版本的主。

现在我想要用远程主站中的最新代码替换当前文件夹内容的命令。

可以有很多情况,但我想忽略以下

  1. 所有的东西有没有可以文件本地修改
  2. 可以有未跟踪文件
  3. 可以有力推的主用全新的代码
  4. 可以有一些没有档案的档案,现在在主档案中,所以当你拖拉时有机会与远程档案发生合并冲突
  5. 当你做混帐状态时,可能会说
    1. 分支master和UPTODATE
    2. 分支主乌尔分支和origin/master的已发散
    3. 分支主,正在进行
    4. 当前底垫你是在分离的头状态
    5. 你分支开发

因此,对于所有这些上述情况,我想忽略,我只想最新的代码。

最简单的方法是删除该文件夹和克隆

另一种方法是下面真的那脏,不想做

cd /application && git reset --hard && git rebase --abort | true && git checkout master && git fetch origin && git reset --hard origin/master 

回答

1

最好的办法是检查出产地/主。这避免了必须处理本地主分支的状态和任何合并问题。

# Abort a rebase, if any 
git rebase --abort 

# Fetch the latest from origin 
git fetch origin 

# Check it out and throw out any changes 
git checkout -f origin/master 

# Clean out all untracked files. 
git clean -dxf 
+0

是否有可能将其减少到更少的命令。 Alsi,当我们做混蛋提取起源然后它提取所有分支,是否有可能只git获取起源/主人 – Karl

+0

@Karl,'git获取起源大师'只提取'origin/master'。 –

+0

@karl AFAIK,就是这样。 Git不是一个发布工具。如果你尝试将它作为一个使用,那么就会发生这种情况。另外,虽然您可以只取一个分支,除非其他分支非常分散,取而代之的是其他分支。 – Schwern