问题标签 [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 投票
13 回答
67059 浏览

git - 使用暂存区域中未提交的文件撤消 git reset --hard

我正在努力恢复我的工作。我愚蠢地做了git reset --hard,但在那之前我只get add .做过,没有做过git commit。请帮忙!这是我的日志:

git reset --hard在这种情况下可以撤消吗?

0 投票
2 回答
2832 浏览

git - Git提交风格:一次所有更改的文件还是一次一个?

我在晚上保存我的工作,对许多文件进行一次提交。我想知道为每个文件提交是否会更好,但这似乎需要更多的工作。

我对现在的情况没有任何问题,但我计划将我的代码放在 GitHub 上,我希望它易于理解。

我想知道其他使用 git 的人在做什么。另外,如果你能帮我把它拼出来。我是 Git 新手,我一直在 Windows 中使用 TortoiseGit 和 gitk。

0 投票
3 回答
888 浏览

git - Git中合并和提交之间的混淆

我是 Git 的新手,不太确定发生了什么。我和我的朋友正在一起做一个项目。

我从远程服务器获取了所有文件git fetch,所以我现在有一大堆文件。

  • 我编辑其中一些,他编辑其中一些,等等。

  • 我每天都在做 fetch,他开始告诉我他已经修改了一些文件并更新了它们,但是这些更改并没有出现在我的端。

  • 我在 Windows 中打开 Git GUI,左侧有两个面板。

    有人说Unstaged Changes-我认为这些是我更改的内容,除非我更改它们,否则它们不会更新到本地存储库add

    另一个说Staged Changes (Will Commit)。在此窗口中,当我单击某些文件时,我确实看到了我的朋友所做的更新,这些更新并未显示在我正在编辑的文件中,而且我想我也看到了我所做的更改。

  • git add .我在我的目录中添加所有文件

  • 我按下commitGit GUI 中的按钮,现在两个侧面板中没有更多文件, noUnstaged Changes​​和 no Staged Changes (Will Commit).

  • 我检查了所有文件,似乎我和我朋友端的更改已合并到一个文件中。

我仍然不能 100% 确定发生了什么。

  • 问题1:我做对了吗?

  • 问题2:具体是merge做什么的?

因为我一直在合并,git merge origin/master合并似乎并没有做任何该死的事情。我以为commit只是将您当前版本的记录写入一些哈希码,但似乎commit实际上正在做我认为的事情merge- 它正在合并更改。

抱歉这个冗长的问题,只是很困惑。

0 投票
2 回答
1585 浏览

git - 向 git commit 添加额外参数

我们有一个定制的系统来跟踪客户的任务/项目。我们手动添加一个清单并将它们标记出来,通常还会添加每个点所花费的时间。这非常有用,但有点多余,因为我们也在 git 中提供了相同的信息。所以我正在考虑以某种方式向 git 添加一个额外的参数,让我可以指示某件事花费了多长时间,然后提取这些数据并将其保存在数据库中(我们通常使用 PHP/MySQL)。怎么办?

我想这样做:

git commit -m "Adding search functionality" 15

然后不知何故能够提取 15(分钟)以稍后处理它,连同此任务的描述,这样我们就不必添加单独花费 15 分钟的“添加搜索功能”。我正在考虑一个钩子,它接受第二个参数并将其用作要传递给 PHP 脚本的变量。这可行吗?

0 投票
12 回答
311911 浏览

git - 为什么“git commit”不保存我的更改?

我做了一个git commit -m "message"这样的:

但之后,当我这样做时,git status它会显示相同的修改文件:

我究竟做错了什么?

0 投票
4 回答
7268 浏览

git - 基于 Web 的 git 提交工具

也许我缺乏一些谷歌搜索技能,但是,在我从头开始构建之前,

有现成的基于 web 的 git 提交工具吗?

我需要它做的是允许用户从 Web 界面:

  1. 有来自“git status”的列表
  2. 选择他想要提交的文件(也许还会看到差异) - 这将对每个文件执行 git add
  3. 提交信息
  4. 推送到远程

这样我就可以让没有命令行技能的人推送他们的模板更改

谢谢

0 投票
2 回答
2008 浏览

git - Git:如何重新打包所有松散的提交

使用git gcand (带有各种选项)后,我在文件夹中git repack仍然有 4825 个松散的提交.git/objects。我想把它们全部放在包文件中,其余的放在另一个包文件中。

我正在做很多提交重写(修改+变基),因此有许多无法访问的提交是完全正常的。我的 .gitconfig 包含这些参数以保持 reflogs 和无法访问的提交很长时间。

你可能想知道这是否有意义,但我已经需要并且已经恢复了几个月前所做的一些提交。碰巧我们在一组新的高优先级分支上开发了好几个月,然后继续在旧的低优先级分支上。

这个问题的主要原因是git gui尽管我已经这样做了很多次,但仍然抱怨压缩我的数据库。如果我们无法打包那些松散的提交,那么这种“抱怨”可能是git gui.

0 投票
1 回答
4555 浏览

git - 首次提交到 git 存储库时出现问题

我是 Git 新手,并且已经设置并创建了我的第一个存储库。我正在尝试添加一个 README 作为第一个提交,并且我一直在按照http://help.github.com/create-a-repo/上的步骤进行操作,但我在这一步上遇到了困难:

我收到此错误:

我认为这是因为我的git remote add命令错误:我忘记替换我的用户名和存储库名称。用正确的参数重试它会给我:

我怎样才能清理它并获得正确的遥控器?

0 投票
7 回答
263772 浏览

git - Git commit -a“未跟踪的文件”?

当我做 agit commit -a时,我看到以下内容:

那些未跟踪的文件是什么意思?所有的变化都确实被跟踪了。我不明白为什么 git 在这里警告我未跟踪的文件。

编辑

好吧,我看到很多困惑的回复。这就是我之后发生的事情git commit -a

如您所见,除了应用了更改的这四个文件之外,没有其他内容。

我的问题应该改写如下:当这个提交中的所有更改都已被跟踪时,为什么 git 会警告我有关未跟踪的文件?

换句话说,git commit 消息中未跟踪的警告是否不必要

0 投票
3 回答
15815 浏览

git - SVN 是否有相当于 git 的提交(没有推送)?

基本上我想在不推送它们并且不切换分支的情况下进行我的更改。这允许我做一些工作,commit当我在一个好的停止点时,然后继续在同一个分支中工作。如果我搞砸了,我可以revert,如果我添加新的更改,我可以commit再次。

我意识到我可以在 SVN 中创建一个功能分支来跟踪这些更改,但同样,我想这样做,同时保持在同一个分支/主干中。即使是等价的git stash也足够了,尽管 SVN 似乎没有这个功能。