gpt4 book ai didi

Git:如何在提交之间来回移动

转载 作者:IT王子 更新时间:2023-10-29 00:34:16 26 4
gpt4 key购买 nike

我有一个关于 Git 的新手问题:

我需要在一个分支的历史中来回移动。这意味着,我需要将所有文件恢复到它们在某个旧版本中的状态,然后我需要恢复到存储库中的最新状态。我不需要 promise 。

如果是SVN,那就是

svn up -r800

到达修订版 800,并且

svn up

与存储库同步。

我知道我想返回的提交的哈希值,所以我尝试了

git reset <hash>

这似乎让我明白了。但后来我尝试了

git pull

但这会提示冲突。

那么遍历分支历史的正确方法是什么?

我在考虑 SVN,所以请不要犹豫,给我指点一些不错的教程。请注意,我已经检查了 http://git.or.cz/course/svn.htmlhttp://www.youtube.com/watch?v=8dhZ9BXQgc4 .

谢谢,Ondra。

最佳答案

好吧,我以前也是 svn 用户,现在我的所有项目都使用 git。

在使用git的时候,应该从svn中使用的client-server架构换个思路。在 svn 中,每次更改都需要与服务器建立连接。使用 git,您的存储库位于工作目录中。您不需要为每个 repo 操作建立连接。

仅使用git pushgit pull 与repo 同步。把它想象成使用 rsync 或任何备份解决方案,使两个地方具有完全相同的内容。就像你连接外部备份硬盘,然后把里面的内容和你的主硬盘里的内容一样。这就是git pullgit push的用法。

如果您只想来回查看历史记录,请使用 git checkout。使用 git history 查看修订 ID。如果您使用的是 Linux,请使用 gitk 查看修订树。在 Windows 中,tortoise git 可以使用修订图显示它。

要返回最新版本,请使用 git checkout master。在执行任何命令之前,总是让自己执行 git status。此命令将显示您需要了解的有关当前 repo 条件的任何信息,以及您需要采取什么行动才能使其正确。在执行 git pullgit push 之前,最好确保 git status 结果包含文本 working directory clean.

如果您需要将文件恢复到之前的修订版,您可以使用 git merge 来完成。在对文件执行此操作之前,请先使用 git diff 对其进行测试。例如:git diff rev1:rev2 文件名。它将打印出两次修订之间的任何差异。 rev1 中的更改将被 rev2 中的更改所取代。所以要恢复,rev2 将比 rev1 旧。对差异结果满意后,使用git merge,只需将diff替换为merge,所有其他参数保持不变。

希望对您有所帮助。主要的关键是看你的工作目录是你的 repo 。了解这一点将帮助您充分利用 git 的功能。祝你好运。

关于Git:如何在提交之间来回移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2121230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com