错误地,我做了git add . 并在develop分支git commit 。 但幸运的是,我没有做git push 。 所以我想把它恢复到原来的状态。 我尝试了git reset –soft和git reset HEAD –hard git reset –soft ,但看起来像我搞砸了。 我该如何解决? 我想回到原来的状态,并可能保持代码更改。
假设我们有一个master分支。 然后我们创build一个新的newbranch git checkout -b newbranch 并提交两个新的提交到新newbranch : commit1和commit2 然后我们切换到主人并cherry-pick git checkout master git cherry-pick hash_of_commit1 看着gitk我们看到commit1和它的cherry-pick版本有不同的哈希,所以在技术上它们是两个不同的提交。 最后我们把newbranch合并到master : git merge newbranch 并且看到这两个不同哈希的提交没有问题合并,尽pipe它们暗示着同样的修改应该应用两次,所以其中一个应该失败。 git是否真的在合并的时候对提交的内容做了一个明智的分析,并决定不应该改变两次,或者这些提交被内部标记为链接在一起?
来自svn,刚开始熟悉git。 当一个分支在git中被删除,它是否从历史中删除? 在svn中,您可以通过恢复删除操作(反向合并)轻松恢复分支。 像svn中的所有删除一样,该分支从不真正删除,它只是从当前树中删除。 如果该分支实际上从git中的历史logging中删除,那么从该分支合并的更改会发生什么? 他们保留了吗?
我需要从跟踪中排除文件夹(名称上传)。 我试图跑 git rm -r –cached wordpress/wp-content/uploads 之后我添加了.gitignore的path /wordpress/wp-content/uploads 但是当我运行git status它们显示为已删除。 如果我尝试提交更改,文件将被删除,不仅从跟踪中删除。 我究竟做错了什么? 我也试过了 git update-index –assume-unchanged <file> 但是这似乎只是找不到文件。 但我需要从跟踪中删除整个文件夹(包括子文件夹)。
如何重置远程和本地GIT存储库以删除所有提交,并以当前Head作为初始提交重新开始。
我经常不需要修改多个提交消息,但它曾经发生过一两次,我从未想过看到这一点。 我希望别人有。 当我git rebase -i HEAD~7 ,预期列表将在vi中完全按照预期打开。 我改变了pick值,在适当的地方进行edit ,然后:wq 。 结果: Could not execute editor 在我的全局.gitconfig的core.editor设置是vi (我也改变了vim在一个疯狂的绝望的举动)。 我尝试使用mate ,但是,甚至没有正确打开最初的列表,所以我把它改回来了。 我正在使用v1.7.3并欢迎任何build议。
我将这添加到.gitignore文件 .idea/* 但无论如何,状态是: # modified: .gitignore # modified: .idea/.generators # modified: .idea/dovezu.iml # modified: .idea/misc.xml # modified: .idea/workspace.xml 我究竟做错了什么 ? 我甚至将.idea / *添加到全局〜/ .gitignore_global,但是git状态,无论如何显示我: # modified: .gitignore # modified: .idea/.generators # modified: .idea/dovezu.iml # modified: .idea/misc.xml # modified: .idea/workspace.xml
有什么方法可以告诉什么时候创build了一个存储? git stash list只列出了git stash show XXXXXX ,而git stash show XXXXXX显示所有的文件和更改,但不是存储创build的date 。
完整信息: error: Ref refs/remotes/origin/user is at 3636498c2ea7735fdcedc9af5ab3c8689e6abe77 but expected a21359c6cc2097c85775cde6a40105f4bd7100ec From github.com:{github project url} ! a21359c..6273ffc user -> origin/user (unable to update local ref)
我是新来的混帐,并会感谢帮助添加子模块。 我收到了两个共享一些通用代码的项目。 共享代码只是复制到两个项目中。 我为通用代码创build了一个单独的git仓库,并将其从项目中删除,并将其添加为git子模块。 我用git submodule add的path选项来指定文件夹: git submodule add url_to_repo projectfolder 但后来得到了错误: 'projectfolder' already exists in the index" 这是我的存储库所需的结构: repo |– projectfolder |– folder with common code 可以将git子模块直接添加到回购站中,或者直接添加到新文件夹中,但不能添加到项目文件夹中。 问题是,它真的需要在项目文件夹..我能做些什么,我有什么误解了git子模块的path选项添加?