标签: git-commit

更新分支而不提交

前一段时间,我从开发分支创建了分支,实际上我什么也没做,只是一个提交编辑评论。

现在我想开始使用这个分支,但我想用开发的提交来更新它。

实际上我可以删除它并再次创建分支,但我感兴趣的是如果我在开发中进行合并或变基会发生什么。

因为这个分支实际上没有提交,所以我认为合并和变基之间没有区别。我对吗?

如果我首先在其他方向上执行操作:首先将开发分支与此分支合并,会发生什么?

git rebase git-merge git-commit

5
推荐指数
1
解决办法
5310
查看次数

合并到 GIT 后压缩分支的提交

您好,我有一个稳定的分支,其中包含其他分支的合并提交。结构如下:

提交历史:

Commit 1 - Branch 1 commit 1 ------------- Hash Code 1
Commit 2 - Branch 2 commit 1 ------------- Hash Code 2
Commit 3 - Branch 2 commit 2 ------------- Hash Code 3
Commit 4 - Branch 2 commit 3 ------------- Hash Code 4
Commit 5 - Branch 3 commit 1 ------------- Hash Code 5
Run Code Online (Sandbox Code Playgroud)

分支 1,2,3 被删除并已合并到 stable 中。有什么方法可以在提交历史记录中压缩提交 3 和提交 4。

期望的结果:

Commit 1 - Branch 1 commit 1 ------------- Hash Code 1
Commit 2 - …
Run Code Online (Sandbox Code Playgroud)

git github squash git-commit

5
推荐指数
1
解决办法
2916
查看次数

为什么 VSTS 使用非标准 git 提交消息?

有很多关于如何格式化 git 提交消息的指南(像这样)。几乎所有的人都指出,信息应该是祈使语气,而不是过去时态。关于这一点有一个很好的论据:

“每当代表您创建提交时,Git 本身都会使用命令式。例如,使用时创建的默认消息为git merge合并分支‘myfeature’

然后 VSTS 中拉取请求的默认提交消息如下:

“合并d PR:XYZ”

为什么?...

git git-commit pull-request azure-devops

5
推荐指数
1
解决办法
567
查看次数

使用 `git commit -a` 时查找 git `pre-commit` 挂钩中的暂存文件

我正在使用一个git pre-commit钩子来自动格式化所有暂存文件。我通过确定暂存文件git diff --name-only --cached,然后在这些文件上调用脚本。这一切在标准用例中都运行良好,但是当我通过提交时它不起作用

git commit -a ..
Run Code Online (Sandbox Code Playgroud)

因为文件尚未暂存。

有什么方法可以:

  1. 在钩子之前运行-a效果(将文件添加到暂存区)pre-commit

  2. 发现预提交在-a提交中运行?

一定有办法处理这个问题。

git pre-commit-hook githooks git-commit

5
推荐指数
1
解决办法
6440
查看次数

使用 GitHub API 在一次提交中编辑多个文件

我在 C# Web 应用程序(使用 Blazor)中使用 GitHub API。我希望能够创建单个提交来添加、删除和编辑存储库中文件夹中的多个文件。我知道我可以向包含这些内容的 URL 发送 PUT 请求来https://api.github.com/repos/[username]/[repository]/contents/[file]创建文件(并且我还可以通过添加 SHA 哈希来编辑文件):

{
    "message": "[Commit message]",
    "content": "[Content encoded in base64]",
    "committer": {
        "name": "[Committer name]",
        "email": "[Committer email]"
    }
}
Run Code Online (Sandbox Code Playgroud)

但这会为每个文件更改创建一次提交。有什么方法可以在一次提交中执行多个操作(使用 GitHub API 或其他方式)?我会使用 libgit2sharp 之类的东西,但我不想将存储库克隆到文件系统上的文件夹。

c# git github github-api git-commit

5
推荐指数
1
解决办法
3422
查看次数

为什么我的推送中突然出现合并提交?

好吧,我好像把一些事情搞砸了。

直到最近,我曾经能够进行合并提交,然后推送到原点,而无需显示单独的提交。现在,我在管道中只能看到合并提交:

管道在之后提交

在此开始之前,仅手动提交被推送到原点(或至少显示为这样):

管道提交之前

这是行为更改后的团队资源管理器(VS 2019 v16.6.5):

团队探索者

...这是我当地的分支机构历史:

分行历史

看到变化了吗?

a13adadf这一切都是在我恢复提交、修复并重新发布之后开始的。现在我遇到了某种奇怪的分支效应,我不知道如何让事情回到之前的状态。(我尝试研究这个问题,但是在搜索与 相关的任何内容时,信噪比非常低merge commit。)

如何让我的存储库“忽略”(即停止显示)合并提交?

(注意:我是唯一参与此存储库的开发人员。)

git git-merge git-revert team-explorer git-commit

5
推荐指数
1
解决办法
2404
查看次数

推送失败后如何撤消提交?

我打算在 dev 分支中测试一些东西(只是版本号 0.1 --> 0.2),所以我提交了更改,但我没有权限直接将其推送到 dev,然后我创建了一个功能分支,我发现数字已经是0.2,然后我将其更改为0.3并推送此分支,然后创建一个合并请求将其合并到dev中。

我是 git 的新手,只是想知道将来如何防止这种混乱?推送被拒绝后如何恢复我的提交?

git github git-revert git-commit gitlab

5
推荐指数
1
解决办法
9361
查看次数

如何删除推送的 git merge 提交

我将几个开发提交合并到我的存储库的主分支中,只是为了发现 GitAhead 在某个时候搞砸了主分支。

现在我尝试了 SO 上描述的各种方法来撤消这些提交(除了 master 上的合并之外没有其他提交)。这样master确实被重置到了早期版本。

但是,我仍然拥有无头分支中的完整合并历史记录(图像上的灰色路径):

在此输入图像描述

我尝试恢复、重置分支等,但没有成功,唉!

如何完全删除提交(c518859ce4、7574f10f68)?

git git-revert git-commit

5
推荐指数
1
解决办法
1万
查看次数

如果我单独处理一个项目,使用“git push --force”是否有危险?

git push --force如果我单独做一个项目,使用会有危险吗?我知道与团队合作时存在危险。但如果我独自一人怎么办?

git git-push git-commit

5
推荐指数
1
解决办法
1万
查看次数

VS Code 中提交、提交暂存和全部提交之间的区别

Visual Studio Code 中有 3 个用于 Git 提交的命令:

\n
    \n
  • 犯罪
  • \n
  • 提交分阶段
  • \n
  • 全部提交
  • \n
\n

\n

它们之间有什么区别?

\n\n

不幸的是,我没有找到任何关于此的文档或网页。git pull(我对和git fetch提交 \xe2\x80\x93 修改提交 \xe2\x80\x93之间的差异不感兴趣,因为大多数搜索表明 \xe2\x80\x93 所有这些都记录良好。Commit命令是德国文章Visual Studio Code (7): Git als Quellcodeverwaltung einsetzen 的综合列表中也缺失例如,

\n

commit git-commit visual-studio-code

5
推荐指数
1
解决办法
4602
查看次数