取得 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 add
和 git 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相关推荐
- git基础: 《获取Git仓库》学习笔记
有两种取得 Git 项目仓库的方法. 第一种是在现有项目或目录下导入所有文件到 Git 中: 第二种是从一个服务器克隆一个现有的 Git 仓库. 在现有目录中初始化仓库 如果你打算使用 Git 来对现 ...
- Git超详细学习笔记 手把手带你一步一步操作 -- 详细分析git 对象-域-分支以及github使用
Git 使用笔记 详细的说明文档: 请参考安装目录下的doc文档 D:\Program Files\Git\mingw64\share\doc\git-doc\git-stash.html git 版 ...
- Git命令配置学习笔记
Git 笔记 Git是分布式版本控制系统 集中式VS分布式: 集中式版本控制系统,版本库集中存放在中央服务器,必须要联网才能工作,没有历史版本库. 分布式版本控制系统,版本控制系统没有"中央 ...
- openCVPracticalExercise学习笔记04
原创:openCVPracticalExercise学习笔记04 30使用OpenCV实现图像孔洞填充 31使用OpenCV将一个三角形仿射变换到另一个三角形 1 2 3 4 5 6 7 8 9 10 ...
- git hook 自动部署 linux git本地服务器搭建 git root 目录 git 仓库 git root/ .git
服务器自动部署项目之GitHooks神器 - CSDN博客 -- 每次都是将本地将代码push到远程仓库,然后再ssh到服务器上git pull,甚是麻烦.在项目开发中使用git的时候,push之后, ...
- JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- JavaWeb-综合案例(用户信息)-学习笔记04【删除选中功能】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...
- JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- MySQL学习笔记04【数据库的查询操作、今日内容、表的约束】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
最新文章
- 安装 Windows8 后值得做的十多项简单优化,让Win8速度快上加快!
- 九度OnlineJudge之1004:Median
- httpstat:一个检查网站性能的 curl 统计分析工具
- 添加右键菜单_如何在Windows文件夹的右键菜单中添加“打开PowerShell”
- 前端学习(2879):实现v-if和v-show设计分析 视图搭建
- 细数改善WPF应用程序性能的10大方法
- 厦门高桔科技有限公司
- Java ADF Template程序不能连接ArcGIS Server问题
- Codeforces Round 212 Div 2 报告(以前没写完,现在也没心情补了,先就这样吧)
- linux内核源码下载地址
- dw1820网卡支持linux吗,黑苹果驱动DW1820A无线网卡教程
- 基于spss的偏相关分析(partial correlation analysis)
- CSDN专访EnableQ在线调查引擎创作团队—软件是为用户而设计的,不是为程序员使用的
- html项目符号正方形,css如何添加列表项目符号
- 部分 SCI 英文期刊缩写对照表
- 电脑现在找不到驱动器,设备管理器显示DVD/CD-ROM驱动器是黄色感叹号
- 跟着我学习 AI丨语音识别:将语音转为数字信号
- 「小白学Python」Windows安装Python
- 使用pytorch可视化中间层的结果
- Python 和 Java 处理废弃API的方法