我已经对作为一组文件的一部分提交了几次的文件进行了一些更改,但现在想要将其上的更改重置/还原到以前的版本.
我已经做了git log一个git diff找到我需要的修订版,但是根本不知道如何将文件恢复到以前的状态.
有没有办法在文件上进行不同的提交.假设我已经修改了一个文件5次,并且在我已经提交并推送到存储库之后我想回到更改2.
在我的理解中,唯一的方法是保留许多分支,我做对了吗?如果我是对的,我会在几天内拥有数百个分支,所以我可能真的不理解它.
有人可以清楚吗?
在一个较大的git合并与几个冲突的文件,我错误地将文件标记为已解决(使用git add FILE一些编辑后)
现在我想撤消我的冲突解决尝试,并开始解决该文件.
我怎样才能做到这一点?
我对git以及pull,fetch和merge之间的区别有了透彻的了解.我有一个遥控器,我偶尔跟踪,获取和合并,让它说它的起源/主人.我想要做的是扭转'git fetch'的行为.这听起来很傻,但我想取消更新我的远程跟踪分支所指向的位置,更新状态,即最后一次获取之前的状态.这可能吗?
例如,假设这是我的工作流程......
git show origin/master # shows commit abc123
git fetch # yay i got something!
git show origin/master # shows commit def456
Run Code Online (Sandbox Code Playgroud)
神秘的命令在这里,所以......
git show origin/master # shows commit abc123
Run Code Online (Sandbox Code Playgroud)
这是一种希望有一个奇怪的事情,但我有一个手表混帐回购协议来检测时,有东西取一个crontab,我有问题的调试执行基于此行为的一些动作脚本.而不是等待origin/master更改,我想自己更改它,以便我可以调试我的脚本!
假设我们有一个存储库和5个提交:
现在我意识到提交4和5是一个坏主意.我想完全删除在commit 4和5中提交的所有更改.如何做?
我需要将本地计算机中的所有文件还原到早期版本,并按原样保留未跟踪的文件.我使用Git找到了这个Rollback文件到更早的版本并且先做了
git reset <hash>
Run Code Online (Sandbox Code Playgroud)
我的文件仍然和以前一样,所以我做了
git checkout <hash>
Run Code Online (Sandbox Code Playgroud)
这也没有帮助.然后我注意到git log没有显示修改后完成的修订.
我很困惑该怎么做恢复早期修改的状态,任何建议?