使用git,如何将本地部署分支重置为origin';谁的版本?

使用git,如何将本地部署分支重置为origin';谁的版本?,git,Git,我有一个本地分支,名为deployment。此分支也位于原点。如何将本地部署分支重置为源部署分支的状态 如下所示: git fetch origin git reset --hard origin/deployment 这是可能的吗?这是正确的,但要小心-git reset--hard会丢弃所有未提交的更改,即仅在工作树或索引(暂存区域)中的更改。另外,只需确保您确实在git checkout deployment的deployment分支上,因为git reset总是更改当前分支的位置,即H

我有一个本地分支,名为
deployment
。此分支也位于
原点
。如何将本地部署分支重置为源部署分支的状态

如下所示:

git fetch origin
git reset --hard origin/deployment

这是可能的吗?

这是正确的,但要小心-
git reset--hard
会丢弃所有未提交的更改,即仅在工作树或索引(暂存区域)中的更改。另外,只需确保您确实在
git checkout deployment
deployment
分支上,因为
git reset
总是更改当前分支的位置,即
HEAD
指向的分支。

谢谢,回答一个问题“因为git reset总是更改当前分支的位置“:这是否意味着我无需执行
原始/部署
?相反,我应该做
git签出部署;git reset--硬原点
?不,后面没有
origin
是远程服务器的名称,类似于存储库URL的昵称<代码>起源/发展,另一方面,是一个远程跟踪分支。当您执行
git fetch
时,远程跟踪分支
origin/development
将更新到分支
development
在存储库
origin
中的位置。在这样做之后,您通常会执行(a)
git merge origin/development
(b)
git rebase origin/development
或(c)
git reset——硬源代码/开发
(如果您想放弃本地工作,只使用源代码开发的最新版本)@Tom:另一点:您可以使用远程服务器的名称(如
原点
)在一个需要提交的地方,但在这种情况下,它将被解释为
refs/remotes/origin/HEAD
,而不是
refs/remotes/origin/development
。非常感谢您的指导,这澄清了很多。但是,出于某种原因,
部署
分支似乎没有设置为当我执行
git reset时的最新提交--硬源/部署
。当我执行
git merge-origin/deployment
时,它会快速前进,然后工作。但整个想法是,我不必合并,因为我只想接管所有远程更改并删除所有本地更改。知道我可能做错了什么吗还有什么我可以和你分享的吗?谢谢,我找到了。我的部署脚本还有一个问题。