git fatal:不是有效的对象名称:"主人"

muk1a3rh  于 2023-02-11  发布在  Git
关注(0)|答案(9)|浏览(227)

我有一个运行git 1.7的私人服务器

git init

一个文件夹,它不会创建一个主分支。原因当我这样做:

git branch

上面什么都没写。当我写的时候:

git --bare init

它会创建文件。当我输入

git branch master

它说:

fatal: Not a valid object name: 'master'.
yx2lnoni

yx2lnoni1#

当我git init一个文件夹时,它不会创建主分支
这是正确的,也是意料之中的行为。Git不会创建master分支,除非你提交了某个东西。
当我执行git --bare init时,它会创建文件。
非裸git init也将在项目根目录下的隐藏.git目录中创建相同的文件。
当我输入git branch master时,它显示“致命:无效的对象名称:“主人”“
这也是正确的行为。在你提交之前,没有主分支。
你还没有问问题,但我会回答你想问的问题。在目录中添加一个或多个文件,然后git add它们来准备提交。然后git commit创建初始提交和master分支。

nle07wnf

nle07wnf2#

Git会在你完成第一次提交后创建一个master分支,如果仓库中没有代码,就没有分支。

prdp8dxp

prdp8dxp3#

把超级飞人乔恩的话抄成了答案:
要创建一个新分支而不提交到master,可以用途:

git checkout -b <branchname>
ukqbszuj

ukqbszuj4#

首先,当您创建一个“裸存储库”时,您不会对它进行任何操作(它不包含工作副本,因此git branch命令没有用)。
现在,即使在执行了git init之后也不会有master分支的原因是没有提交:当你创建你的第一个提交时,你会有一个master分支。

mzillmmw

mzillmmw5#

在创建新分支之前,您需要在master上至少提交一次。

rdrgkggo

rdrgkggo6#

这是因为您尚未提交任何内容。
首先,必须使用use git add .git add <file-name>,然后必须使用git commit -m "committed successfully"
现在你可以创建一个新的分支。

2eafrhcq

2eafrhcq7#

请尝试在主分支创建任何文件并提交。2然后创建其他分支。3应该可以。

kx1ctssn

kx1ctssn8#

不是一个传统的答案,但我也有一个解决方案,为我的情况。对于这个完全相同的问题,我注意到这个问题发生时,我创建另一个存储库在一个已经存在的存储库。
所以如果你克隆了一个repo,然后又克隆了git init,就会导致这个问题。然后你必须删除整个文件夹,然后再克隆一次。谢谢。

ibps3vxo

ibps3vxo9#

只要执行git checkout -b branchname就可以创建分支。

相关问题