标签: git-commit

如何从 Git 提交哈希中获取所有符号名称?

如果 Git 提交哈希有多个与之关联的标签和/或多个分支的头部,是否有一种列出所有这些标签的好方法?

我已经通过选项看了git name-revgit describegit symbolic-ref,但还没有发现,似乎做我想做的任何选项。git name-rev令人沮丧的是,可以--tags选择列出标签,但没有明显的机制来只列出分支(而且git name-rev对我来说似乎总是喜欢标签而不是分支)。

$ git checkout -b branch1
$ git checkout -b branch2
$ git tag tag1
$ git tag tag2
$ git name-rev HEAD
HEAD tags/tag1
$ git describe --all HEAD
HEAD tags/tag1
$ git symbolic-ref HEAD
refs/heads/branch2
Run Code Online (Sandbox Code Playgroud)

要映射提交哈希所有的符号名,我将需要运行git tag --listgit branch --all --list,然后运行git rev-parse在所有的结果?

git git-commit git-branch git-hash

8
推荐指数
1
解决办法
166
查看次数

从git克隆repo后要做什么

我只是一个git启动器,基本上我克隆了一个git存储库,现在我想提交我在文件中所做的更改.当我运行命令时,git commit它说not a git repository,

所以作为git的首发我只是想问我是否需要先运行此命令 - git init然后git commit呢?或者在这些提交文件后要遵循的更多步骤之间?

我需要在Bitbucket上提交文件.

Screenshot-

在此输入图像描述

git bitbucket git-clone git-commit

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

可以将其他数据放入git commit对象吗?

在每个关于git对象的教程网站上,我将看到一个示例,其中git cat-file显示提交对象本身的样子,它通常类似于以下内容:

tree 552acd444696ccb1c3afe68a55ae8b20ece2b0e6
parent 6a1d380780a83ef5f49523777c5e8d801b7b9ba2
author John Doe <john.doe@exampler.com> 1326496982 -0600
committer John Doe <john.doe@exampler.com> 1326496982 -0600

Some commit message here.
Run Code Online (Sandbox Code Playgroud)

如果顶部有其他(单行)数据字段,这会混淆git工具吗?我假设即使没有,这些字段也不会出现在git log中.

如果它可以有其他字段,哪个git plumbing命令可以让你创建它?git commit-tree似乎不灵活.

git git-commit

7
推荐指数
3
解决办法
1291
查看次数

我怎么能告诉Git提交中发生了什么事情,两个父母没有合并来自第二个父母的更改?

在Gitk中,我可以看到团队成员的提交(X)有两个父母,第一个父母是他自己的先前提交(A),另一个父母包含许多其他人提交(1到5).合并后,其他人(1到5和其他人)所做的所有更改都不再出现在X,B,C等...

A------------
              \
               X - B - C 
              /
1--2--3--4--5
           /
e--r--j--k
     /
l--m
Run Code Online (Sandbox Code Playgroud)

如果我提交X提交A它没有显示差异,如果我将X提交X提交5它显示所有缺少的更改.此外,在提交X,B或C时,git日志不会显示对提交1到5中的文件所做的更改.但是,如果我执行git log --full-history,则历史记录会显示在1中进行的更改到5,但这些更改仍未出现在实际文件中,并且历史记录未显示它们正在撤消.所以git log --full-history似乎与当前文件内容相矛盾.

我与提交X的用户进行了交谈.他说他没有进行重置或拒绝,他说他在相关时间内没有恢复任何提交.然而,他说他确实有时会做一个拉原点大师,导致其他人的变化被放入他的索引或工作树中,好像他已经做出了这些改变而不是这些改变的实际作者.他说,当这种情况发生时,他会做一个新的克隆,并且不会将任何东西从当地的回购推送给主人,因为他认为Git做错了什么.

这两件事是否相关(坏拉和坏合并)?

我怎样才能确切地说出发生了什么,以便我们将来可以避免这种情况?

是什么原因导致Git有时会将从原始主数据中提取的更改放在本地工作目录或索引中,就像它们是本地更改一样?

git git-pull git-merge git-log git-commit

7
推荐指数
1
解决办法
4756
查看次数

如何在git中更新目录

我有一个bitbucket存储库,具有以下结构:

 Directory-A->
   directory a
   directory b
   file a
   file b
   file c
Run Code Online (Sandbox Code Playgroud)

现在我想将文件"b"和文件"c"移动到"目录a"

当我在本地机器上执行此操作并通过git add提交时.我在目录a中获取文件b和文件c但它们仍然存在于其外部.

git git-commit

7
推荐指数
1
解决办法
1311
查看次数

是否可以编辑文件并从浏览器提交github/bitbucket

我想在浏览器中使用编辑器并保存在没有服务器的github中.就像github/bitbucket中的文本编辑器可以新文件一样保存

我想知道这两个服务的REST api是否可以轻松提交这样的文件

或者js中的git库可以在不需要将所有文件拉入我们的机器的情况下工作

github bitbucket github-api git-commit bitbucket-api

7
推荐指数
1
解决办法
4727
查看次数

GitHub 是否会无限期保留合并 PR 的提交历史记录?

我们的团队正在决定在我们的存储库中使用什么合并策略。我们正在研究压缩合并以获得干净的提交历史记录的能力。但是,如果我们想要特定提交的更多详细信息,我们希望能够查看中间更改 - 特别是被压缩的 PR 的中间提交。

通常,压缩和删除分支将删除引用日志中对这些中间提交的所有引用,并且 git 垃圾收集可以清理这些引用。然而,在查看其他存储库时,GitHub 似乎仍然保留了这些中间提交。

我们正在寻找的是确认 GitHub 是否在引用日志中保留了这些提交 ID,并且我们保证它们会保留下来。或者,告诉我们不能保证的信息也是好的。

github git-commit git-squash

7
推荐指数
1
解决办法
1393
查看次数

如何确定 Git 中合并提交的第一个父级

~我正在阅读有关在 git 中使用vs运算符的区别^,我遇到了这个问题What's the Difference between HEAD^ and HEAD~ in Git?

在谷歌搜索后,我在网上找不到一个很好的解释,那就是 git 如何区分合并提交的第一个父级和第二个父级?

有经验法则吗?

以这个示例为例,其中一个feature分支被合并另一个develop分支中,创建合并提交G

develop feature/foo
     A   D
     |   |
     B   E
     |   |
     C   F
      \ /
       G <- develop(HEAD)
Run Code Online (Sandbox Code Playgroud)

哪个是 的第一个父母GC或者F?为什么它是第一个父母?

注意:这不是请求 git 命令来确定第一个或第二个父级。我知道可以使用git show G^1和来实现git show G^2。我看到这C是第一个父母GF也是第二个父母。但是,我不明白为什么会这样。是不是像进行合并提交的分支决定了第一个父级?

git git-merge git-commit

7
推荐指数
1
解决办法
1435
查看次数

Git 提交错误:无法生成 gpg.exe:没有这样的文件或目录

这是我尝试提交任何文件时得到的输出。我尝试再次安装 git 并在 youtube 上观看了一些教程以重新启动它,但它不起作用。仍然遇到同样的错误:

错误:无法生成 C:\Program Files (x86)\GnuPG\bin\gpg.exe:没有这样的文件或目录
错误:gpg 未能对数据进行签名
致命:写入提交对象失败

git gnupg git-commit git-sign

7
推荐指数
2
解决办法
6556
查看次数

传统提交中正确的“提交类型”应该是什么?

我创建了一个提交,目的是取消隐藏某个功能,代码更改是仅取消注释某些代码行并显示该功能,因此现在该功能将显示给用户。

\n

这个提交类型应该是feator 吗chore

\n

我想应该是chore因为它没有\xe2\x80\x98将该功能添加到代码中,只允许显示,但从用户POV来看这是一个新功能,您对此有何看法?

\n

git conventions commit git-commit conventional-commits

7
推荐指数
1
解决办法
4000
查看次数