前一段时间,我从开发分支创建了分支,实际上我什么也没做,只是一个提交编辑评论。
现在我想开始使用这个分支,但我想用开发的提交来更新它。
实际上我可以删除它并再次创建分支,但我感兴趣的是如果我在开发中进行合并或变基会发生什么。
因为这个分支实际上没有提交,所以我认为合并和变基之间没有区别。我对吗?
如果我首先在其他方向上执行操作:首先将开发分支与此分支合并,会发生什么?
您好,我有一个稳定的分支,其中包含其他分支的合并提交。结构如下:
提交历史:
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 提交消息的指南(像这样)。几乎所有的人都指出,信息应该是祈使语气,而不是过去时态。关于这一点有一个很好的论据:
“每当代表您创建提交时,Git 本身都会使用命令式。例如,使用时创建的默认消息为
git merge:合并分支‘myfeature’ ”
然后 VSTS 中拉取请求的默认提交消息如下:
“合并d PR:XYZ”
为什么?...
我正在使用一个git pre-commit钩子来自动格式化所有暂存文件。我通过确定暂存文件git diff --name-only --cached,然后在这些文件上调用脚本。这一切在标准用例中都运行良好,但是当我通过提交时它不起作用
git commit -a ..
Run Code Online (Sandbox Code Playgroud)
因为文件尚未暂存。
有什么方法可以:
在钩子之前运行-a效果(将文件添加到暂存区)pre-commit?
发现预提交在-a提交中运行?
一定有办法处理这个问题。
我在 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 之类的东西,但我不想将存储库克隆到文件系统上的文件夹。
好吧,我好像把一些事情搞砸了。
直到最近,我曾经能够进行合并提交,然后推送到原点,而无需显示单独的提交。现在,我在管道中只能看到合并提交:
在此开始之前,仅手动提交被推送到原点(或至少显示为这样):
这是行为更改后的团队资源管理器(VS 2019 v16.6.5):
...这是我当地的分支机构历史:
看到变化了吗?
a13adadf这一切都是在我恢复提交、修复并重新发布之后开始的。现在我遇到了某种奇怪的分支效应,我不知道如何让事情回到之前的状态。(我尝试研究这个问题,但是在搜索与 相关的任何内容时,信噪比非常低merge commit。)
如何让我的存储库“忽略”(即停止显示)合并提交?
(注意:我是唯一参与此存储库的开发人员。)
我打算在 dev 分支中测试一些东西(只是版本号 0.1 --> 0.2),所以我提交了更改,但我没有权限直接将其推送到 dev,然后我创建了一个功能分支,我发现数字已经是0.2,然后我将其更改为0.3并推送此分支,然后创建一个合并请求将其合并到dev中。
我是 git 的新手,只是想知道将来如何防止这种混乱?推送被拒绝后如何恢复我的提交?
我将几个开发提交合并到我的存储库的主分支中,只是为了发现 GitAhead 在某个时候搞砸了主分支。
现在我尝试了 SO 上描述的各种方法来撤消这些提交(除了 master 上的合并之外没有其他提交)。这样master确实被重置到了早期版本。
但是,我仍然拥有无头分支中的完整合并历史记录(图像上的灰色路径):

我尝试恢复、重置分支等,但没有成功,唉!
如何完全删除提交(c518859ce4、7574f10f68)?
git push --force如果我单独做一个项目,使用会有危险吗?我知道与团队合作时存在危险。但如果我独自一人怎么办?
Visual Studio Code 中有 3 个用于 Git 提交的命令:
\n它们之间有什么区别?
\n我希望Commit Staged能够正常工作git commit命令工作。
我\xe2\x80\x99ve发现Commit All也提交了未暂存和未跟踪的文件。(类似于在 \xe2\x80\x9cclassic\xe2\x80\x9d Visual Studio 中提交全部。)
\n但是,Commit是做什么的,它与上面的两个命令有何不同?
\n不幸的是,我没有找到任何关于此的文档或网页。git pull(我对和git fetch或提交 \xe2\x80\x93 修改或提交 \xe2\x80\x93之间的差异不感兴趣,因为大多数搜索表明 \xe2\x80\x93 所有这些都记录良好。Commit命令是德国文章Visual Studio Code (7): Git als Quellcodeverwaltung einsetzen 的综合列表中也缺失例如,
git-commit ×10
git ×9
git-revert ×3
github ×3
git-merge ×2
azure-devops ×1
c# ×1
commit ×1
git-push ×1
githooks ×1
github-api ×1
gitlab ×1
pull-request ×1
rebase ×1
squash ×1