git-reset相关内容
我有一个git目录,出现这种情况: ProgSoul@PROGSOUL-LENOVO:~/esercizio3_2$ git status Sul branch master Changes to be committed: (use "git reset HEAD ..." to unstage) modified: A Changes not st
..
..
我正在尝试撤销自上次提交以来的所有更改.我在查看 这篇文章.我的回答是 head 现在在 18c3773...但是当我查看本地源时,所有文件都还在那里.我错过了什么? 解决方案 这将取消暂存您可能使用 git add 暂存的所有文件: git reset 这将还原所有本地未提交的更改(应在 repo root 中执行): git checkout . 您还可以仅将未提交的更改还
..
我怎样才能以最小的努力,将我所有的提交(即使是合并和冲突解决)压缩到一个功能分支上的一个,然后在我开始开发的分支之上重新建立基础从?不想重做已经完成的冲突解决.尽量减少麻烦. 假设我们说的分支是 master 和 featureX. 解决方案 我所知道的最简单的方法是 git checkout featureXgit merge -m "Bring latest changes f
..
撤消特定提交的最简单方法是: 不在头脑或 HEAD 已推送到远程. 因为如果不是最新的提交, git reset HEAD 不起作用.而且因为已经推送到远程了, git rebase -i 和 git rebase --onto 会导致遥控器出现问题. 更重要的是,我真的不想修改历史记录.如果有错误的代码,它就在历史中并且可以被看到.我只是希望它在工作副本中出现,我
..
我一直认为 git reset 和 git checkout 是一样的,因为两者都将项目带回特定的提交.但是,我觉得它们不能完全相同,因为那是多余的.两者之间的实际区别是什么?我有点困惑,因为 svn 只有 svn co 来恢复提交. 添加 VonC 和 Charles 很好地解释了 git reset 和 git checkout 之间的区别.我目前的理解是 git reset 将所
..
我开始了一些新功能的工作,在编码了一段时间后,我决定这个功能应该放在自己的分支上. 如何将现有的未提交更改移动到新分支并重置当前的更改? 我想重置当前分支,同时保留新功能的现有工作. 解决方案 Update 2020/Git 2.23 Git 2.23 添加了新的 switch 子命令尝试清除因 checkout(切换分支、恢复文件、分离HEAD等) 从此版本的 G
..
我正在努力恢复我的工作.我愚蠢地做了 git reset --hard,但在此之前我只做了 get add . 而没有做 git commit.请帮忙!这是我的日志: MacBookPro:api user$ git status# 在分支主# 要提交的更改:#(使用“git reset HEAD ..."取消暂存)# 修改:.gitignore...MacBookPro:api u
..
是否可以撤消由以下命令引起的更改?如果是,怎么办? git reset --hard HEAD~1 解决方案 Pat Notz 是正确的.只要提交是在几天之内,您就可以取回提交.除非您明确告诉它删除较新的 blob,否则 git 只会在大约一个月后进行垃圾收集. $ git init在 .git/中初始化空的 Git 存储库$ echo "测试重置" >文件 1$ git 添加文件1$ g
..
我想知道如何删除提交. 通过delete,我的意思是就好像我没有进行那个提交,并且当我将来进行推送时,我的更改不会推送到远程分支. 我阅读了 git help,我认为我应该使用的命令是 git reset --hard HEAD.这是正确的吗? 解决方案 注意: git reset --hard 将删除您对工作目录的更改.在运行此命令之前,请务必隐藏您想要保留的任何本地更改.
..
在 Git 中,我试图通过合并另一个分支然后通过以下方式将 HEAD 重置到前一个位置来执行 squash commit: git reset origin/master 但我需要走出这一步.如何将 HEAD 移回之前的位置? 我有提交的 SHA-1 片段 (23b6772),我需要将其移动到.我怎样才能回到这个提交? 解决方案 在回答之前,先来补充一下背景,解释一下这个HEAD
..
如何从当前状态恢复到在某个提交上创建的快照? 如果我执行git log,那么我得到以下输出: $ git log提交 a867b4af366350be2e7c21b8de9cc6504678a61b`作者:我日期:2010 年 11 月 4 日星期四 18:59:41 -0400等等等等等等...提交 25eee4caef46ae64aa08e8ab3f988bc91
..
我在这里陷入了一些 git-funk.我需要自己解决这个问题. 我加入了一个新团队并创建了一个功能分支: git checkout -b feature_branch 做了一些更改,然后将它们提交/推送到分支. git commit -am "更改"git push origin feature_branch 有人在我的 PR 上留下了评论,所以我进行了更改,然后在再次提交/
..
我有一个小型仓库,其中有几个提交: * a0fc4f8(HEAD-> testbranch)添加了file.txt* e6e6a8b(master)你好世界* f308f53使其回显* f705657添加了问好* 08a2de3(标签:初始)初始 也: $ git状态在分支测试分支上无需提交,工作目录干净 我无法理解以下行为.在这种状态下,我运行: $ git reset init
..
下面是推送的提交历史记录. 提交更改的文件提交1 |(文件a,文件b,文件c)提交2 |(文件a,文件b,文件c)提交3 |(文件a,文件b,文件c)提交4 |(文件a,文件b,文件c)提交5 |(文件a,文件b,文件c) 我想还原对提交3 的文件b 所做的更改. 但是我希望在提交4和5中对该文件进行更改. 解决方案 在Git中,每次提交都保存一个快照-即每个文件的状态-而是而不是一
..
假设我的历史记录是这样的: A-B-C-D(主) 如果我执行 git reset B ,我会得到: A-B(主) 麻烦的是, git log 现在仅向我显示从A到B的历史记录,而我再也看不到C和D. 如何返回D? 解决方案 您应该可以通过
..
我没有提交文件就进行了git硬重置.触发重置后,我检查了所有未跟踪的文件都消失了.我希望它只会影响我们在提交过程中所做的更改,并且只会重置这些更改.但是我错了. 有什么办法可以恢复我所有未跟踪的文件?任何帮助将不胜感激. 谢谢 解决方案 如果您以前对未跟踪的文件进行了git add,则git reset --hard将删除它们. Git没有还原这些文件的过程,因为它们没有被追踪
..
我刚刚进行了一次提交,并且意识到我需要撤消提交而不删除任何更改....我该怎么做?我尝试了git reset --soft,但是什么也没有做,没有错误也没有做,当我输入该命令时,实际上什么也没发生.我在做什么错了? 解决方案 git reset --soft表示HEAD,但是您想返回到之前 HEAD的提交,因此: git reset --soft HEAD^
..
说我提交的历史是A-B-C,我只有这个分支. B完全正常工作.我开始在C语言中添加一些功能,但无法正常工作,因此我需要回到B语言,但是我也想保留用C语言编写的代码,因为我想对其进行检查并修复它.之后. 最好的方法是什么? 从B开始创建新分支的最佳方法是吗? 与进行软重置有什么区别?我知道软重置不会删除更改(正确吗?),但是我不清楚如何恢复这些更改(C中的代码),也不清楚软重置与创
..
我用git add添加了一个目录,并意识到其中包含错误的文件,所以我使用git reset-很难返回到最新的提交,但是我不知道git也会删除那些添加的文件在工作副本中. 有人知道我该怎么做吗? 解决方案 git add文件时,该文件将添加到对象数据库和索引中.运行git reset更新了索引和工作目录,但没有从对象数据库中删除那些文件.它们保留为无根(“悬挂")对象.您可以运行git
..