草庐IT

resetting

全部标签

git - git pull 和 git reset --hard origin/<branch> 有什么区别?

我发现后者比第一个快,所以我通常在gitfetch之后每当我需要将我的本地分支与远程同步时这样做。有什么区别? 最佳答案 以下命令:gitfetchgitreset--hardorigin/将丢弃所有本地更改。作为:gitpull这与:完全相同gitfetchgitmergeorigin/将尝试保留本地更改。 关于git-gitpull和gitreset--hardorigin/有什么区别?,我们在StackOverflow上找到一个类似的问题: https:

git - git pull 和 git reset --hard origin/<branch> 有什么区别?

我发现后者比第一个快,所以我通常在gitfetch之后每当我需要将我的本地分支与远程同步时这样做。有什么区别? 最佳答案 以下命令:gitfetchgitreset--hardorigin/将丢弃所有本地更改。作为:gitpull这与:完全相同gitfetchgitmergeorigin/将尝试保留本地更改。 关于git-gitpull和gitreset--hardorigin/有什么区别?,我们在StackOverflow上找到一个类似的问题: https:

git reset 与 git reset HEAD

每次暂存文件时,如果您需要取消暂存文件,Git都会提供有用的说明:(use"gitresetHEAD..."tounstage)不过体面GitTutorialsbyAtlassian简单地说:gitreset这看起来更直接,那么为什么不同呢? 最佳答案 在默认参数方面没有区别(来自gitresetmanpage):The/defaultstoHEADinallforms.该消息最初不包含HEAD:commit3c1eb9c,Jan.2007,git1.5.0-rc1,但由于默认值并非总是已知的,因此帮助消息清楚地表明您应该重置哪个提

git reset 与 git reset HEAD

每次暂存文件时,如果您需要取消暂存文件,Git都会提供有用的说明:(use"gitresetHEAD..."tounstage)不过体面GitTutorialsbyAtlassian简单地说:gitreset这看起来更直接,那么为什么不同呢? 最佳答案 在默认参数方面没有区别(来自gitresetmanpage):The/defaultstoHEADinallforms.该消息最初不包含HEAD:commit3c1eb9c,Jan.2007,git1.5.0-rc1,但由于默认值并非总是已知的,因此帮助消息清楚地表明您应该重置哪个提

git - 为什么我有时会看到 "Entry ' 文件名不是最新的。无法 merge ."after a ' git reset --hard' 和 'git pull' 吗?

偶尔,当我执行以下操作时...gitreset--hardHEADisnowat0123abdecommentisheregitpullUpdating0123abde..456789fa我收到错误...error:Entry'filename'notuptodate.Cannotmerge.我发现的唯一解决方法是“gitreset--hard”,删除有问题的文件,然后执行“gitpull”。这对我来说似乎不对。硬重置不应该删除任何和所有本地更改,从而允许我在没有任何merge问题的情况下提取最新版本吗?我用错了吗?:)这是在CI机器上进行的,因此这里的任何更改都是不需要的。我在Win

git - 为什么我有时会看到 "Entry ' 文件名不是最新的。无法 merge ."after a ' git reset --hard' 和 'git pull' 吗?

偶尔,当我执行以下操作时...gitreset--hardHEADisnowat0123abdecommentisheregitpullUpdating0123abde..456789fa我收到错误...error:Entry'filename'notuptodate.Cannotmerge.我发现的唯一解决方法是“gitreset--hard”,删除有问题的文件,然后执行“gitpull”。这对我来说似乎不对。硬重置不应该删除任何和所有本地更改,从而允许我在没有任何merge问题的情况下提取最新版本吗?我用错了吗?:)这是在CI机器上进行的,因此这里的任何更改都是不需要的。我在Win

git - "git checkout tag-name"与 "git reset --hard tag-name"

我知道有像this这样的问题,但这不是我要问的。我也知道:gitcheckout标签名:让你脱离分支。(即移动HEAD指针,保持BRANCH指针)gitreset--hardtag-name:不会将您从分支中分离出来,但会使之前的提交变得“悬空”。(即同时移动HEAD和BRANCH指针)我想知道哪个更适合更新标签,即是否应该重置或checkout作品。我知道垃圾收集器可能会运行,删除悬空提交,但话又说回来,如果在更新到标签的过程之前总是“pull”生产,我看不出有什么不好。是否应该使用reset或checkout对标签进行生产更新,考虑到pull始终在此更新调用之前完成?

git - "git checkout tag-name"与 "git reset --hard tag-name"

我知道有像this这样的问题,但这不是我要问的。我也知道:gitcheckout标签名:让你脱离分支。(即移动HEAD指针,保持BRANCH指针)gitreset--hardtag-name:不会将您从分支中分离出来,但会使之前的提交变得“悬空”。(即同时移动HEAD和BRANCH指针)我想知道哪个更适合更新标签,即是否应该重置或checkout作品。我知道垃圾收集器可能会运行,删除悬空提交,但话又说回来,如果在更新到标签的过程之前总是“pull”生产,我看不出有什么不好。是否应该使用reset或checkout对标签进行生产更新,考虑到pull始终在此更新调用之前完成?

git - 干净的工作树下 `git branch -f <branch_name> <hash>` 和 `git checkout <branch_name>; git reset --hard <hash>` 之间的区别?

到目前为止,我一直使用gitcheckout;gitreset--hard将分支移回较早的提交。然后我遇到了thisquestion,但答案和评论并没有详细解释它们之间的区别。假设我有一个干净的工作树,它们之间有什么内部差异gitbranch-f和gitcheckoutgitreset--hard这些差异(如果有的话)对高级用法有什么微妙的影响吗? 最佳答案 主要区别在于gitbranch-f移动指向指定的提交而不触及HEAD、索引或工作副本,而gitcheckout&&gitreset--hard修改所有三个。如果你想在不移动的情

git - 干净的工作树下 `git branch -f <branch_name> <hash>` 和 `git checkout <branch_name>; git reset --hard <hash>` 之间的区别?

到目前为止,我一直使用gitcheckout;gitreset--hard将分支移回较早的提交。然后我遇到了thisquestion,但答案和评论并没有详细解释它们之间的区别。假设我有一个干净的工作树,它们之间有什么内部差异gitbranch-f和gitcheckoutgitreset--hard这些差异(如果有的话)对高级用法有什么微妙的影响吗? 最佳答案 主要区别在于gitbranch-f移动指向指定的提交而不触及HEAD、索引或工作副本,而gitcheckout&&gitreset--hard修改所有三个。如果你想在不移动的情