了解git init

Jaa*_*nus 21 git

究竟是git init什么?我必须每台计算机执行一次,或者每个使用git的项目执行一次吗?我下载了我的项目,git clone并让它工作,但现在它也存储我的项目C:/Users/myUser/git,是某个文件夹或我可以更改它?

我真的不太了解那个文件夹,它看起来像是一个本地git仓库或其他东西,但是"管理"它,或者它为什么使用这条路径,你能解释一下吗?

这就是我的理解,如果我不正确,请修理我,需要直截了当地说明事实:

  1. git init 是为每个项目
  2. "用户"下的git文件夹是本地仓库,每次我git commit都会更新该文件夹.
  3. 当我这样做时git push,它需要来自该本地存储库,并放入远程存储库.
  4. 当我想更新为"HEAD"时,我就是这么做的 git pull

sle*_*man 36

这实际上是很多问题和误解.我不确定我是否能够解决所有问题所以我只会解决直接问到的问题.

  1. git init适用于每个项目

    差不多正确.git init用于开始在不在git下的项目上使用git.对于已经使用git的项目git clone.

  2. "用户"下的git文件夹是本地仓库

    差不多正确.该文件夹实际上.git不是git.这来自unix约定,所有以点开头的文件和文件夹都被视为隐藏.

    其次,该文件夹不在您的用户文件夹下.它位于您的项目文件夹下.所以文件夹C:/Users/myUser/是一个项目.如果这不是您的意图,那么您很可能git init在User文件夹中意外执行了.

    每个项目.git在项目的根目录中都有一个文件夹,即项目的存储库.这是git与svn或cvs相比如此之快的原因之一 - 整个存储库在本地硬盘上处理而没有任何网络流量.

  3. 当我做git push时,它需要来自本地仓库,然后放到远程

    正确,但仅限于具有遥控器的回购(通常是通过使用git clone复制远程回购创建的回购).

    请注意,远程仓库不需要在另一台计算机上.您可以将项目从本地文件夹git克隆到另一个文件夹,然后可以将更改从新文件夹推回到原始文件夹.

    git clone命令会自动为您的repo设置必要的配置以连接回远程.但您也可以手动配置设置的回购设置git init以连接到远程.

  4. 什么"管理"它

    .git文件夹管理项目的回购.Git不作为服务器运行*.相反,该.git文件夹充当所有git命令与之通信的本地"服务器".基本上,运行git命令会编辑.git文件夹的内容.

    *注意:远程回购会运行服务器,以便您可以连接它们.但从技术上讲,他们并不是真正的git服务器.它们是git可以下载并上传到的文件服务器.