• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Git 存储库

    Git 存储库或存储库是 Git 跟踪更改的文件夹。计算机上可以有任意数量的存储库,每个存储库都存储在自己的文件夹中。系统上的每个 Git 存储库都是独立的,因此保存在一个 Git 存储库中的更改不会影响另一个 Git 存储库的内容。

    Git 存储库包含存储库中保存的每个文件的每个版本。这不同于仅存储文件差异的其他版本控制系统。 Git 将文件版本存储在项目目录下的隐藏的.git文件夹中,以及管理代码所需的其他信息。 Git 非常高效地保存这些文件,因此拥有大量版本并不意味着它使用大量磁盘空间。存储文件的每个版本有助于 Git 合并代码变得更好,并快速轻松地处理多个版本的代码。

    开发人员通过计算机上的本地存储库中发出的命令与 Git 协作。即使共享代码或从团队获取更新,也会通过更新本地存储库的命令完成。这种以本地为中心的设计使 Git 成为分布式版本控制系统。每个存储库都是自包含的,存储库的所有者负责使其与其他人所做的更改保持最新。

    大多数团队使用托管在服务器上的中心存储库,每个人都可以访问该存储库来协调其更改。中央存储库通常托管在源代码管理管理解决方案(如 GitHub 或 Azure DevOps)中。源代码管理管理解决方案添加了功能,使协同工作更加轻松。

    有两个选项可用于创建 Git 存储库。第一种是在现有项目或目录下导入所有文件到 Git 中;第二种是从一个服务器克隆一个现有的 Git 仓库。如果使用仅在本地计算机上的代码,请使用该文件夹中的代码创建本地存储库。但是,大多数时候代码已在 Git 存储库中共享,因此将现有存储库克隆到本地计算机是建议使用的方法。


    在现有目录中初始化仓库

    如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录,在shell(widnows 为gitbash)中输入:

    git init
    

    该命令将创建一个名为.git的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。

    如果你是在一个已经存在文件的文件夹(而不是空文件夹)中初始化 Git 仓库来进行版本控制的话,你应该开始跟踪这些文件并提交。

    # 通过 git add 命令来实现对指定文件的跟踪
    git add *.c
    git add LICENSE
    
    # 执行 git commit 提交
    git commit -m 'initial project version'
    


    克隆现有的仓库

    如果你想获得一份已经存在了的 Git 仓库的拷贝。比如,要克隆 Git 的可链接库 libgit2,在shell(widnows 为gitbash)中输入:

    git clone https://github.com/libgit2/libgit2
    

    这会在当前目录下创建一个名为“libgit2”的目录,并在这个目录下初始化一个.git文件夹,从远程仓库拉取下所有数据放入.git文件夹,然后从中读取最新版本的文件的拷贝。如果你进入到这个新建的 libgit2 文件夹,你会发现所有的项目文件已经在里面了,准备就绪等待后续的开发和使用。

    如果你想在克隆远程仓库的时候,自定义本地仓库的名字,你可以使用如下命令:

    git clone https://github.com/libgit2/libgit2 mylibgit
    

    这将执行与上一个命令相同的操作,不过在本地创建的仓库名字变为mylibgit

    Git 支持多种数据传输协议。上面的例子使用的是https://协议。


    可以使用git://协议或者使用SSH传输协议。

    git clone git@github.com/libgit2/libgit2
    

    上篇:Git 配置

    下篇:Git 保存代码