问题标签 [git-commit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 如何查看合并到合并提交中的提交?
如果my-feature-branch
被合并到my-main-branch
,我如何查看从哪些提交中合并my-feature-branch
?
git - GIT Pull 删除了我的提交
在 git pull 之后,我已经完成了 git reset 以在合并之前撤消与提交 id 的合并。不知何故,我的整个提交都消失了,我也看不到历史中的提交。但是我有提交 id,在 git show 命令上我可以看到我的更改。
我如何取回我的更改以及如何跟踪我所做的错误
git - 从 Git 存储库清除文件失败,无法创建新备份
我试图通过运行从我的远程仓库中删除一个文件:
但 Git 抱怨说
无法创建新备份。以前的备份已经存在于 refs/original/
使用 -f rm 强制覆盖备份
:无法删除 /.git-rewrite/backup-refs :权限被拒绝
rm:无法删除目录 /.git-rewrite :目录不为空
这是在我已经删除 Windows 上的 .git-rewrite 目录之后。
如何删除该文件?这是一个 29Mb 的文件,位于我的仓库中,所以我非常需要删除该文件。
我试图删除 中的提交git rebase -i
,但显然因为提交触及了很多不同的文件,Git 抱怨冲突,我为了安全而中止了。
git - 如何在“git push”之后在本地和远程撤消“git commit”
我已经表演了,git commit
然后是git push
. 如何在本地和远程存储库上恢复该更改?
git - 工作目录和 git 索引有什么区别?
git book定义了git 索引:
Git 索引用作工作目录和存储库之间的暂存区域。您可以使用索引来构建一组要一起提交的更改。创建提交时,提交的是当前索引中的内容,而不是工作目录中的内容。
但是我仍然很难理解它,尤其是突出显示的“提交的内容不是我的工作目录中的内容”的声明。
到目前为止,在我有限的 git 工作中,工作目录中的所有内容总是被提交,如果我这样做:
git 然后提交所有修改过的文件以及所有新文件。
那么,实际上,我的工作目录是暂存区吗?
我不确定那是什么git index
以及它如何被解释为暂存区。
你能解释一下吗?
git - 撤消 git commit + git 分支——有一个转折
我正在“事后记录”应用程序开发的历史,通过移动项目目录树的现有快照(这些快照由普通和原始文件夹副本保存,而不是 git 或任何其他版本控制)混帐。
在努力学习 git 的新概念和新术语之后,这个迁移过程似乎进展顺利,突然我发现:“糟糕……我的最后一个git commit
+git branch <branchname>
跳过了一个快照。”
由于提交快照的顺序对我很重要,我想完全撤消最后一个git commit
+ git branch <branchname>
,就好像它从未完成一样。
也就是说,“通过修改提交来修复”,如Git 书籍的Undoing in Git一章底部所定义。
一切仍然是本地的(我还没有“发布”也没有“推送”任何东西),所以我相信这符合关于“重写历史”的警告。:)
根据我的理解,您能否确认或更正以下所需的步骤?
- 清空工作目录(
.git
当然不删除子目录) git checkout <folder-name>
(在我提交错误的文件夹并通过 git 分支对其进行标记后立即将工作目录恢复到状态)git branch -D <branchname-of-mistaken-folder-commit>
git commit --amend
在这一点上,我希望 git 不再记得最后一个分支和提交已经完成,并且工作目录包含错误的文件夹(我将删除它,完全替换为我跳过的那个)。这个对吗?
git - Git子模块引用不是一棵树
此处的开发人员运行了我们推荐的 git 使用步骤,但丢失了子模块提交。我知道这个错误意味着她推入了超级项目而不是子模块,但她否认了这一点,并且有她向我展示的命令历史记录。以下是似乎导致此问题的步骤。我想了解如何告诉她以后避免这种情况。
- 她致力于子模块和超级项目。
- 她把最新的放在她的树枝上。这导致了没有实际内容冲突的子模块冲突
- 她在超级项目中运行 git commit -a 来解决它。(理解这种类型的冲突也会有所帮助)。
- 她从另一个分支运行了一个合并,并在两个地方都提交了。
- 她运行了一个全局推送,将 cds 放入每个子模块,运行推送,然后在超级项目中运行推送。
至此,她在子模块中原提交中提交的工作从git log
.
git - 有没有人看到 git 创建一个没有日期和全零哈希的提交?
因此,一位在 Windows 中使用 TortoiseGit 的团队成员前几天调出了他的日志,顶部是一个哈希完全为零的提交,没有用户,也没有日期,但它确实有四个修改过的文件和一个提交信息。
它似乎是一段时间前的提交,但除此之外我们不知道。
有没有办法纠正这个提交,或者只是删除它,所以它不会一直坐在他的日志顶部?
git - 跳过 Git 提交挂钩
我正在查看一个 git 钩子,它在 Python 代码中查找打印语句。如果找到打印语句,它会阻止 git 提交。
我想覆盖这个钩子,我被告知有一个命令可以这样做。我一直没能找到它。有什么想法吗?
git - 我如何只提交一些文件?
我有两个项目。一是“官方”项目,二是轻微修改(添加了一些文件)。我创建了新分支并将新文件放入其中。但是在开发过程中,两个分支共有的一些文件被更改了。
我如何只提交这些文件?