我不小心将错误的文件提交给Git,但我还没有将提交推送到服务器.
如何从本地存储库中撤消这些提交?
有人将一个名为testwith 的分支推git push origin test送到共享存储库.我可以看到分支git branch -r.
现在我正试图检查远程test分支.
我试过了:
git checkout test 什么都不做
git checkout origin/test给* (no branch).这令人困惑.我怎么能在"没有分支"?
如何查看远程Git分支?
我开始研究一个新功能,经过一段时间的编码,我决定这个功能应该在它自己的分支上.
如何将现有的未提交更改移动到新分支并重置当前更改?
我想重置当前分支,同时保留新功能的现有工作.
好的,在看到PJ Hyett的这篇文章之后,我决定跳到最后并与Git一起去.
所以我需要的是初学者对Git 的实用指南."初学者"被定义为知道如何处理编译器的人,在某种程度上理解Makefile是什么,并触及源代码控制而不理解它.
"实用"被定义为这个人不想详细了解Git在后台做什么,甚至不关心(或知道)它是分布式的.您的回答可能暗示了可能性,但尝试瞄准想要在备份和安全的"服务器"上保留"主"存储库的初学者,并将其本地存储库视为仅仅是"客户端"资源.
所以:
有时我会在工作目录中进行一些更改,并且我意识到这些更改应该在与当前更改的分支中提交.这通常发生在我想尝试新事物或进行一些测试时,我忘记事先创建一个新分支,但我不想将脏代码提交给主分支.
那么,如何将未提交的更改(或存储在索引中的更改)提交到与当前更改不同的分支?
正如在这个问题中所提到的,我也想知道如何解决冲突git stash pop而不添加对提交的所有修改(就像"git stash pop"而没有冲突).
我目前的方法非常不酷,因为我这样做:
git stash pop -> CONFLICT
git stash drop
[resolve conflict]
[add conflict files]
git reset HEAD <all files that are in commit-mode>
Run Code Online (Sandbox Code Playgroud)
[更新]一种重现它的方法:
mkdir foo; cd foo; git init
echo "1" > one
echo "2" > two
git add -A; git commit -m "first"
echo "1.1" > one
echo "2.1" > two
git stash
echo "2.2" > two
git commit -a -m "second"
echo "Only this file would stay in …Run Code Online (Sandbox Code Playgroud) 有人能告诉我在Git中HEAD,工作树和索引之间的区别吗?
据我所知,它们都是不同分支的名称.我的假设是否正确?
我找到了这个
单个git存储库可以跟踪任意数量的分支,但是您的工作树只与其中一个分支相关联("当前"或"已检出"分支),HEAD指向该分支.
这是否意味着HEAD和工作树总是一样的?
我已经完成了相当多的工作("你的分支在37次提交之前超过了'origin/master'.")这真的应该进入它自己的分支而不是进入master.这些提交只存在于我的本地机器上,并没有被推到origin,但情况有点复杂,因为其他开发人员一直在推动origin/master,我已经撤消了这些更改.
如何追溯将我的37个本地提交移动到新分支?根据文档,似乎git rebase --onto my-new-branch master或...origin/master应该这样做,但两者都只是给我错误"致命:需要单一修订". man git-rebase没有提供修改,rebase并且其示例没有这样做,所以我不知道如何解决此错误.
(请注意,这不是将现有的,未完成的工作移动到Git中的新分支或如何将我的本地未提交的更改合并到另一个Git分支中的重复?因为这些问题涉及本地工作树中未提交的更改,而不是具有的更改已在当地承诺.)
我正在处理master分支,做了一些修改然后把它们藏起来了.现在,我的主人在HEAD.
但是现在,我想要检索这些更改,但要检索从主分支的HEAD版本分支的新分支.
我该怎么做呢 ?
场景:我有 2 个分支:dev和sprint1
sprint1;sprint1,我想在 中添加/提交它们dev;dev在不先提交更改的情况下结帐sprint1,但结帐失败;我的问题是:如何sprint1在dev不承诺的情况下将这些更改引入sprint1;
git ×11
branch ×2
git-stash ×2
commit ×1
git-branch ×1
git-checkout ×1
git-commit ×1
git-reset ×1
master ×1
pre-commit ×1
undo ×1