取得 Git 仓库 —— Git 学习笔记 04

2024-09-09 05:38
文章标签 学习 笔记 仓库 04 git 取得

本文主要是介绍取得 Git 仓库 —— Git 学习笔记 04,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

取得 Git 仓库 —— Git 学习笔记 04

我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。

下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。

怎样取得项目的 Git 仓库?

有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个仓库克隆(clone)到本地。

方法一:在工作目录中初始化新仓库

假设我们有一个目录,目录下只有一个文件——“hello.c”

那么我们可以进入到这个目录下,执行命令

 git init

运行命令后,Git 会有一行提示,类似于:

Initialized empty Git repository in ...

初始化后,在当前目录下会出现一个名为.git 的目录(隐藏文件),所有 Git 需要的数据和资源都存放在这个目录中。没事不要修改或者删除这个目录,不然就把仓库破坏了。

为了把当前目录下的文件纳入版本控制,需要用 git add 命令告诉 Git

git add hello.c

我们还可以继续添加文件,例如

touch world.c
git add world.c

有人要问了,如果目录下有很多.c文件,难道要一个一个手动添加吗?

当然不用,可以用通配符。

git add *.c

这样就会把当前目录下的所有以.c结尾的文件纳入版本控制。

另外,git add 后面也可以是一个目录名,这时候 git 会把此目录下的所有文件和子目录递归式地添加到索引中。

添加好文件后,把已添加的文件提交到本地仓库。

 git commit -m 'initial project version'

现在,我们就得到了一个实实在在的仓库了。关于git addgit commit命令,后面的博文会细说。

方法二:从现有仓库克隆

如果想加入到某个项目中,可以先把该项目的 Git 仓库复制到你的电脑上,这就需要用到 git clone 命令。

其命令格式为 git clone [url]。比如,要克隆 Ruby 语言的代码仓库 Grit,可以用下面的命令:

git clone git://github.com/schacon/grit.git

这会在当前目录下创建一个名为 grit 的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。如果进入这个新建的 grit 目录,你会看到项目的所有文件已经在里边了,供你后续开发使用。

如果希望在克隆的时候,自己指定目录,则需要在命令末尾加上目录名,比如指定目录为 mygrit

git clone git://github.com/schacon/grit.git mygrit

唯一的差别就是,现在新建的目录成了 mygrit,其他的都和上边说的一样。

注意:Git 支持许多数据传输协议。前面的例子使用的是 git:// 协议,其实也可以用 http(s):// 或者 user@server:xxxxxxxx 表示的 SSH 传输协议。这些等学到远程版本库再说,现在不用深究。


参考资料

《精通Git(第2版)》,Scott Chacon & Ben Straub,人民邮电出版社

这篇关于取得 Git 仓库 —— Git 学习笔记 04的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1150312

相关文章

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Maven 依赖发布与仓库治理的过程解析

《Maven依赖发布与仓库治理的过程解析》:本文主要介绍Maven依赖发布与仓库治理的过程解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录Maven 依赖发布与仓库治理引言第一章:distributionManagement配置的工程化实践1