我们有一个GitHub存储库。克隆该存储库后,必须在所有Git命令生效之前从命令行执行git init
。 git pull
,git checkout
等无效。
据我所知,git init
初始化了一个新的存储库。就像克隆后我会再次创建一个新的存储库吗?
以下是我要运行的命令:
git clone <url>
git checkout master
答案 0 :(得分:1)
在这种情况下,您不必要做git init
¹。正如评论中指出的那样,git clone
将为您提供一个本地存储库,您可以立即开始使用它。
问题在于,当您尝试运行Git命令时,您不在存储库中。默认情况下,git clone
将存储库放入与克隆的存储库同名的子目录中。您必须进入该目录才能使用它:
git clone git@github.com/foo/bar.git
cd bar
现在您位于bar/
,可以与您的存储库进行交互。
¹如果您确实在父目录中运行git init
,那么您将处于混乱状态。您最终将在错误的位置放置一个存储库,并在其中包含代码。 Git的嵌套存储库行为常常与用户的期望不符。
答案 1 :(得分:1)
克隆后,通过`cd your-project'进入项目根目录,然后运行git命令
在您的情况下,您克隆了远程存储库,然后没有将当前的工作目录更改为克隆的项目,因为您位于克隆存储库的父目录中,因为父存储库本身不是git存储库git抱怨,你不能运行任何git命令