问题标签 [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.

0 投票
3 回答
28110 浏览

git - 如何查看合并到合并提交中的提交?

如果my-feature-branch被合并到my-main-branch,我如何查看从哪些提交中合并my-feature-branch

0 投票
1 回答
1633 浏览

git - GIT Pull 删除了我的提交

在 git pull 之后,我已经完成了 git reset 以在合并之前撤消与提交 id 的合并。不知何故,我的整个提交都消失了,我也看不到历史中的提交。但是我有提交 id,在 git show 命令上我可以看到我的更改。

我如何取回我的更改以及如何跟踪我所做的错误

0 投票
4 回答
51053 浏览

git - 从 Git 存储库清除文件失败,无法创建新备份

我试图通过运行从我的远程仓库中删除一个文件:

但 Git 抱怨说

无法创建新备份。以前的备份已经存在于 refs/original/
使用 -f rm 强制覆盖备份
:无法删除 /.git-rewrite/backup-refs :权限被拒绝
rm:无法删除目录 /.git-rewrite :目录不为空

这是在我已经删除 Windows 上的 .git-rewrite 目录之后。

如何删除该文件?这是一个 29Mb 的文件,位于我的仓库中,所以我非常需要删除该文件。

我试图删除 中的提交git rebase -i,但显然因为提交触及了很多不同的文件,Git 抱怨冲突,我为了安全而中止了。

0 投票
7 回答
164961 浏览

git - 如何在“git push”之后在本地和远程撤消“git commit”

我已经表演了,git commit然后是git push. 如何在本地和远程存储库上恢复该更改?

0 投票
4 回答
6305 浏览

git - 工作目录和 git 索引有什么区别?

git book定义了git 索引:

Git 索引用作工作目录和存储库之间的暂存区域。您可以使用索引来构建一组要一起提交的更改。创建提交时,提交的是当前索引中的内容,而不是工作目录中的内容

但是我仍然很难理解它,尤其是突出显示的“提交的内容不是我的工作目录中的内容”的声明。

到目前为止,在我有限的 git 工作中,工作目录中的所有内容总是被提交,如果我这样做:

git 然后提交所有修改过的文件以及所有新文件。

那么,实际上,我的工作目录暂存区吗?

我不确定那是什么git index以及它如何被解释为暂存区。

你能解释一下吗?

0 投票
1 回答
107 浏览

git - 撤消 git commit + git 分支——有一个转折

我正在“事后记录”应用程序开发的历史,通过移动项目目录树的现有快照(这些快照由普通和原始文件夹副本保存,而不是 git 或任何其他版本控制)混帐。

在努力学习 git 的新概念和新术语之后,这个迁移过程似乎进展顺利,突然我发现:“糟糕……我的最后一个git commit+git branch <branchname>跳过了一个快照。”

由于提交快照的顺序对我很重要,我想完全撤消最后一个git commit+ git branch <branchname>就好像它从未完成一样

也就是说,“通过修改提交来修复”,如Git 书籍的Undoing in Git一章底部所定义。

一切仍然是本地的(我还没有“发布”也没有“推送”任何东西),所以我相信这符合关于“重写历史”的警告。:)

根据我的理解,您能否确认或更正以下所需的步骤?

  1. 清空工作目录(.git当然不删除子目录)
  2. git checkout <folder-name> (在我提交错误的文件夹并通过 git 分支对其进行标记后立即将工作目录恢复到状态)
  3. git branch -D <branchname-of-mistaken-folder-commit>
  4. git commit --amend

在这一点上,我希望 git 不再记得最后一个分支和提交已经完成,并且工作目录包含错误的文件夹(我将删除它,完全替换为我跳过的那个)。这个对吗?

0 投票
1 回答
1210 浏览

git - Git子模块引用不是一棵树

此处的开发人员运行了我们推荐的 git 使用步骤,但丢失了子模块提交。我知道这个错误意味着她推入了超级项目而不是子模块,但她否认了这一点,并且有她向我展示的命令历史记录。以下是似乎导致此问题的步骤。我想了解如何告诉她以后避免这种情况。

  • 她致力于子模块和超级项目。
  • 她把最新的放在她的树枝上。这导致了没有实际内容冲突的子模块冲突
  • 她在超级项目中运行 git commit -a 来解决它。(理解这种类型的冲突也会有所帮助)。
  • 她从另一个分支运行了一个合并,并在两个地方都提交了。
  • 她运行了一个全局推送,将 cds 放入每个子模块,运行推送,然后在超级项目中运行推送。

至此,她在子模块中原提交中提交的工作从git log.

0 投票
2 回答
472 浏览

git - 有没有人看到 git 创建一个没有日期和全零哈希的提交?

因此,一位在 Windows 中使用 TortoiseGit 的团队成员前几天调出了他的日志,顶部是一个哈希完全为零的提交,没有用户,也没有日期,但它确实有四个修改过的文件和一个提交信息。

它似乎是一段时间前的提交,但除此之外我们不知道。

有没有办法纠正这个提交,或者只是删除它,所以它不会一直坐在他的日志顶部?

0 投票
6 回答
374206 浏览

git - 跳过 Git 提交挂钩

我正在查看一个 git 钩子,它在 Python 代码中查找打印语句。如果找到打印语句,它会阻止 git 提交。

我想覆盖这个钩子,我被告知有一个命令可以这样做。我一直没能找到它。有什么想法吗?

0 投票
8 回答
534306 浏览

git - 我如何只提交一些文件?

我有两个项目。一是“官方”项目,二是轻微修改(添加了一些文件)。我创建了新分支并将新文件放入其中。但是在开发过程中,两个分支共有的一些文件被更改了。

我如何只提交这些文件?