Git教程学习:02 获取Git仓库

文章目录

    • 1 在已存在目录中初始化仓库
    • 2 克隆现有的仓库

通常有两种获取 Git 项目仓库的方式:

  1. 将尚未进行版本控制的本地目录转换为 Git 仓库;
  2. 从其它服务器 克隆 一个已存在的 Git 仓库。

这两种方式都会在我们本地机器上得到一个工作就绪的Git仓库。

1 在已存在目录中初始化仓库

如果我们有一个尚未进行版本控制的项目目录,想要用 Git 来控制它,那么首先需要进入该项目目录中。 在不同系统上的做法有些不同:

在Linux上:

$ cd /home/user/my_project
$ git init

在这里我简单创建了一个空目录进行操作:

image-20240116173228792

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

如果在一个已存在文件的文件夹(而非空文件夹)中进行版本控制,我们应该开始追踪这些文件并进行初始提交。 可以通过 git add 命令来指定所需的文件来进行追踪,然后执行 git commit

$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'

在这里我随意在my_project文件夹中创建一个文件来进行简单操作,之后便会得到一个存在被追踪文件与初始提交的Git库:

image-20240116174922494

2 克隆现有的仓库

如果我们想获得一份已经存在了的 Git 仓库的拷贝,比如说,我们想为某个开源项目贡献自己的一份力,这时就要用到 git clone 命令。Git 克隆的是该 Git 仓库服务器上的几乎所有数据,而不是仅仅复制完成我们的工作所需要文件。 当我们执行 git clone 命令的时候,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。 事实上,如果我们的服务器的磁盘坏掉了,我们通常可以使用任何一个克隆下来的用户端来重建服务器上的仓库 。

克隆仓库的命令是 git clone <url> 。 比如,克隆 Git 的链接库 libgit2

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

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

image-20240116194357200

image-20240116194735114

image-20240116195001805

如果我们想在克隆远程仓库的时候,自定义本地仓库的名字,可以通过额外的参数指定新的目录名:

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

这会执行与上一条命令相同的操作,只是目标目录名变为了 mylibgit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/414918.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何写接口自动化测试断言?

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 你真的会写自动化测试断言吗&#xff1f; 在接口测试…

C#,字符串匹配(模式搜索)RK(Rabin Karp)算法的源代码

M.O.Rabin Rabin-Karp算法&#xff0c;是由M.O.Rabin和R.A.Karp设计实现的一种基于移动散列值的字符串匹配算法。 通常基于散列值的字符串匹配方法&#xff1a;&#xff08;1&#xff09;首先计算模式字符串的散列函数&#xff1b;&#xff08;2&#xff09;然后利用相同的散…

虚拟线程探索与实践

优质博文&#xff1a;IT-BLOG-CN 一、简介 虚拟线程是轻量级线程&#xff0c;极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能&#xff0c;并在JDK 19中发布&#xff0c;JDK 21中最终确定虚拟线程&#xff0c;以下是根据开发者反馈…

k8s---ingress对外服务(traefik)

目录 ingress的证书访问 traefik traefik的部署方式&#xff1a; deamonset deployment nginx-ingress与traefix-ingress相比较 nginx-ingress-controller ui访问 deployment部署 ingress的证书访问 ingress实现https代理访问: 需要证书和密钥 创建证书 密钥 secre…

【SpringBoot3】IDEA常用插件介绍Tabnine,GsonFormat,Maven Helper等

文章目录 一、Tabnine二、Auto filling Java call arguments三、GsonFormat四、Rainbow Brackets五、Maven Helper 本文主要介绍一些比较实用的IDEA插件&#xff0c;帮助广大开发者提升开发效率&#xff0c;愉悦编码&#xff01; 一、Tabnine 官网地址&#xff1a;https://ww…

被动元件大厂村田停工近半年 | 百能云芯

据市场传言&#xff0c;受到地震影响&#xff0c;日本被动元件巨头村田的产线&#xff0c;尤其是生产电感的穴水村田制作所&#xff0c;将至少停工至5月中旬。这一消息引发了业界对于台湾厂商是否能够迎来转单效应的猜测。尽管目前转单效益尚不明朗&#xff0c;业内普遍认为&am…

Java项目:10 Springboot的电商书城管理系统

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 该系统分为前台展示和后台管理两大模块&#xff0c;前台主要是为消费者服务。该子系统实现了注册&#xff0c;登录&#xff0c;以及从浏览、下…

深入详解使用 RabbitMQ 过程中涉及到的多个细节问题(面试可用)

目录 1、基础类问题 2、cluster 相关问题 3、综合性问题 4、参考资料 C软件异常排查从入门到精通系列教程&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/article/details/125529931C/C基础与进阶&…

商用软件方案的多种交付方式有什么优势?

商用软件方案在交付上&#xff0c;往往存在多种模式&#xff0c;包括SaaS模式、私有化部署、SDK嵌入式等等&#xff0c;SaaS模式讲究一个标准化&#xff0c;旨在最大限度的降低部署成本&#xff0c;但对于一些定制化程度比较高的需求&#xff0c;往往企业仍然需要采用私有化部署…

问题 sr failed: CUDA out of memory. Tried to allocate 解决

一 错误信息&#xff1a;sr failed: CUDA out of memory sr failed: CUDA out of memory. Tried to allocate 370.00 MiB. GPU 0 has a total capacty of 12.00 GiB of which 8.66 GiB is free. Of the allocated memory 969.24 MiB is allocated by PyTorch, and 306.76 MiB …

ubuntu20.04一键通过docker-compose部署mysql 8.0.20

os&#xff1a;ubuntu20.04 docker&#xff1a;v24 docker-compose&#xff1a;v2.2.2 主要步骤 1.拉取镜像 docker pull mysql:8.0.20 2.创建目录 mkdir -p /data/docker_mysql/log mkdir -p /data/docker_mysql/data mkdir -p /data/docker_mysql/conf.d 3.创建配置文…

使用 TurfJS 寻找垂直线

在最近的一个项目中有个需求&#xff0c;我需要确定从单个点 © 到由其他两个点&#xff08;A 和 B&#xff09;的连线的垂直距离。通常我们可以只使用turf.nearestPointOnLine()&#xff0c;但是只有当C点位于前两点之间时才有效。 但是点 C 可以在任何位置&#xff0c;不…