问题标签 [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 - 使用暂存区域中未提交的文件撤消 git reset --hard
我正在努力恢复我的工作。我愚蠢地做了git reset --hard
,但在那之前我只get add .
做过,没有做过git commit
。请帮忙!这是我的日志:
git reset --hard
在这种情况下可以撤消吗?
git - Git提交风格:一次所有更改的文件还是一次一个?
我在晚上保存我的工作,对许多文件进行一次提交。我想知道为每个文件提交是否会更好,但这似乎需要更多的工作。
我对现在的情况没有任何问题,但我计划将我的代码放在 GitHub 上,我希望它易于理解。
我想知道其他使用 git 的人在做什么。另外,如果你能帮我把它拼出来。我是 Git 新手,我一直在 Windows 中使用 TortoiseGit 和 gitk。
git - Git中合并和提交之间的混淆
我是 Git 的新手,不太确定发生了什么。我和我的朋友正在一起做一个项目。
我从远程服务器获取了所有文件git fetch
,所以我现在有一大堆文件。
我编辑其中一些,他编辑其中一些,等等。
我每天都在做 fetch,他开始告诉我他已经修改了一些文件并更新了它们,但是这些更改并没有出现在我的端。
我在 Windows 中打开 Git GUI,左侧有两个面板。
有人说
Unstaged Changes
-我认为这些是我更改的内容,除非我更改它们,否则它们不会更新到本地存储库add
。另一个说
Staged Changes (Will Commit)
。在此窗口中,当我单击某些文件时,我确实看到了我的朋友所做的更新,这些更新并未显示在我正在编辑的文件中,而且我想我也看到了我所做的更改。git add .
我在我的目录中添加所有文件我按下
commit
Git GUI 中的按钮,现在两个侧面板中没有更多文件, noUnstaged Changes
和 noStaged Changes (Will Commit)
.我检查了所有文件,似乎我和我朋友端的更改已合并到一个文件中。
我仍然不能 100% 确定发生了什么。
问题1:我做对了吗?
问题2:具体是
merge
做什么的?
因为我一直在合并,git merge origin/master
合并似乎并没有做任何该死的事情。我以为commit
只是将您当前版本的记录写入一些哈希码,但似乎commit
实际上正在做我认为的事情merge
- 它正在合并更改。
抱歉这个冗长的问题,只是很困惑。
git - 向 git commit 添加额外参数
我们有一个定制的系统来跟踪客户的任务/项目。我们手动添加一个清单并将它们标记出来,通常还会添加每个点所花费的时间。这非常有用,但有点多余,因为我们也在 git 中提供了相同的信息。所以我正在考虑以某种方式向 git 添加一个额外的参数,让我可以指示某件事花费了多长时间,然后提取这些数据并将其保存在数据库中(我们通常使用 PHP/MySQL)。怎么办?
我想这样做:
git commit -m "Adding search functionality" 15
然后不知何故能够提取 15(分钟)以稍后处理它,连同此任务的描述,这样我们就不必添加单独花费 15 分钟的“添加搜索功能”。我正在考虑一个钩子,它接受第二个参数并将其用作要传递给 PHP 脚本的变量。这可行吗?
git - 为什么“git commit”不保存我的更改?
我做了一个git commit -m "message"
这样的:
但之后,当我这样做时,git status
它会显示相同的修改文件:
我究竟做错了什么?
git - 基于 Web 的 git 提交工具
也许我缺乏一些谷歌搜索技能,但是,在我从头开始构建之前,
有现成的基于 web 的 git 提交工具吗?
我需要它做的是允许用户从 Web 界面:
- 有来自“git status”的列表
- 选择他想要提交的文件(也许还会看到差异) - 这将对每个文件执行 git add
- 提交信息
- 推送到远程
这样我就可以让没有命令行技能的人推送他们的模板更改
谢谢
git - Git:如何重新打包所有松散的提交
使用git gc
and (带有各种选项)后,我在文件夹中git repack
仍然有 4825 个松散的提交.git/objects
。我想把它们全部放在包文件中,其余的放在另一个包文件中。
我正在做很多提交重写(修改+变基),因此有许多无法访问的提交是完全正常的。我的 .gitconfig 包含这些参数以保持 reflogs 和无法访问的提交很长时间。
你可能想知道这是否有意义,但我已经需要并且已经恢复了几个月前所做的一些提交。碰巧我们在一组新的高优先级分支上开发了好几个月,然后继续在旧的低优先级分支上。
这个问题的主要原因是git gui
尽管我已经这样做了很多次,但仍然抱怨压缩我的数据库。如果我们无法打包那些松散的提交,那么这种“抱怨”可能是git gui
.
git - 首次提交到 git 存储库时出现问题
我是 Git 新手,并且已经设置并创建了我的第一个存储库。我正在尝试添加一个 README 作为第一个提交,并且我一直在按照http://help.github.com/create-a-repo/上的步骤进行操作,但我在这一步上遇到了困难:
我收到此错误:
我认为这是因为我的git remote add
命令错误:我忘记替换我的用户名和存储库名称。用正确的参数重试它会给我:
我怎样才能清理它并获得正确的遥控器?
git - Git commit -a“未跟踪的文件”?
当我做 agit commit -a
时,我看到以下内容:
那些未跟踪的文件是什么意思?所有的变化都确实被跟踪了。我不明白为什么 git 在这里警告我未跟踪的文件。
编辑:
好吧,我看到很多困惑的回复。这就是我之后发生的事情git commit -a
。
如您所见,除了应用了更改的这四个文件之外,没有其他内容。
我的问题应该改写如下:当这个提交中的所有更改都已被跟踪时,为什么 git 会警告我有关未跟踪的文件?
换句话说,git commit 消息中未跟踪的警告是否不必要?
git - SVN 是否有相当于 git 的提交(没有推送)?
基本上我想在不推送它们并且不切换分支的情况下进行我的更改。这允许我做一些工作,commit
当我在一个好的停止点时,然后继续在同一个分支中工作。如果我搞砸了,我可以revert
,如果我添加新的更改,我可以commit
再次。
我意识到我可以在 SVN 中创建一个功能分支来跟踪这些更改,但同样,我想这样做,同时保持在同一个分支/主干中。即使是等价的git stash
也足够了,尽管 SVN 似乎没有这个功能。