有两种取得 Git 项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。
在工作目录中初始化新仓库
要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:
$ git init
初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。不过目前,仅仅是按照既有的结构框架初始化好了里边所有的文件和目录,但我们还没有开始跟踪管理项目中的任何一个文件。(在第九章我们会详细说明刚才创建的 .git
目录中究竟有哪些文件,以及都起些什么作用。)
如果当前目录下有几个文件想要纳入版本控制,需要先用 git add
命令告诉 Git 开始对这些文件进行跟踪,然后提交:
$ git add *.c
$ git add README
$ git commit -m 'initial project version'
稍后我们再逐一解释每条命令的意思。不过现在,你已经得到了一个实际维护着若干文件的 Git 仓库。
从现有仓库克隆
如果想对某个开源项目出一份力,可以先把该项目的 Git 仓库复制一份出来,这就需要用到 git clone
命令。如果你熟悉其他的 VCS 比如 Subversion,你可能已经注意到这里使用的是 clone
而不是 checkout
。 这是个非常重要的差别,Git 收取的是项目历史的所有数据(每一个文件的每一个版本),服务器上有的数据克隆之后本地也都有了。实际上,即便服务器的磁盘发生故障,用任何一个克隆出来 的客户端都可以重建服务器上的仓库,回到当初克隆时的状态(虽然可能会丢失某些服务器端的挂钩设置,但所有版本的数据仍旧还在,有关细节请参考第四章)。
克隆仓库的命令格式为 git clone [url]
。比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:
$ git clone git://github.com/schacon/grit.git
这会在当前目录下创建一个名为grit
的目录,其中包含一个 .git
的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。如果进入这个新建的 grit
目录,你会看到项目中的所有文件已经在里边了,准备好后续的开发和使用。如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
$ git clone git://github.com/schacon/grit.git mygrit
唯一的差别就是,现在新建的目录成了 mygrit
,其他的都和上边的一样。
Git 支持许多数据传输协议。之前的例子使用的是 git://
协议,不过你也可以用 http(s)://
或者 user@server:/path.git
表示的 SSH 传输协议。我们会在第四章详细介绍所有这些协议在服务器端该如何配置使用,以及各种方式之间的利弊。
相关推荐
取得项目Git仓库的两种方法包括在工作目录中初始化新仓库和从现有仓库克隆。初始化新仓库使用`git init`命令,它会在当前目录创建一个名为.git的隐藏目录,存放所有Git管理的数据。克隆仓库则是使用`git clone [url]...
2 1 取得项目的 Git 仓库 2 2 记录每次更新到仓库 2 3 查看提交历史 2 4 撤消操作 2 5 远程仓库的使用 2 6 打标签 2 7 技巧和窍门 2 8 小结 3 Git 分支 3 1 何谓分支 3 2 分支的新建与合并 3 3 分支的...
2 1 取得项目的 Git 仓库 2 2 记录每次更新到仓库 2 3 查看提交历史 2 4 撤消操作 2 5 远程仓库的使用 2 6 打标签 2 7 技巧和窍门 2 8 小结 3 Git 分支 3 1 何谓分支 3 2 分支的新建与合并 3 3 分支的...
- **取得项目的Git仓库**: - **在工作目录中初始化新仓库**:使用`git init`命令创建一个新的空仓库。 - **从现有仓库克隆**:使用`git clone`命令复制一份现有的仓库到本地。 - **记录每次更新到仓库**: - **...
**2.1 取得项目的Git仓库** - **从当前目录初始化**:使用`git init`命令在一个新的目录中创建一个新的Git仓库。 - **从现有仓库克隆**:使用`git clone`命令从一个现有的Git仓库克隆一份完整的工作副本。 **2.2 ...
Repo并不是一个独立的版本控制系统,而是作为一个辅助工具,用于管理和同步Android源代码的多个Git仓库。它简化了Android源码的获取和更新过程,使得开发者不必关心背后复杂的多仓库结构。 获取Android源代码的第一...
3. 基础操作和工作流程:包括如何取得项目的Git仓库、记录更新到仓库、查看提交历史、撤消操作、远程仓库的使用和标签的管理。 4. Git分支的使用:何谓分支、基本的分支与合并、分支管理和不同的分支工作流程。特别...
**2.1 取得项目的 Git 仓库** - **从当前目录初始化**: 使用 `git init` 命令可以将当前目录初始化为一个新的 Git 仓库。 - **从现有仓库克隆**: 使用 `git clone` 命令可以从一个现有的 Git 仓库中克隆出一个完整...
Git基础部分,主要讲述了如何取得项目的Git仓库,包括从当前目录初始化和从现有仓库克隆。记录每次更新到仓库时,需要检查当前文件状态,跟踪新文件,暂存已修改文件,并且可以忽略某些文件。此外,教程也涉及了查看...
- **初始化仓库** (`git init`): 创建一个新的Git仓库。 - **添加文件到暂存区** (`git add`): 将修改过的文件添加到暂存区,准备提交。 - **查看状态** (`git status`): 查看当前仓库的状态,了解哪些文件已被暂存...
**2.1 取得项目的Git仓库** - **从当前目录初始化**:使用`git init`命令。 - **从现有仓库克隆**:使用`git clone <repository-url>`命令,可以从远程服务器克隆一个现有的仓库。 **2.2 记录每次更新到仓库** - ...
**2.1 取得项目的Git仓库** - **从当前目录初始化**:使用`git init`命令。 - **从现有仓库克隆**:使用`git clone`命令从远程仓库克隆一个项目到本地。 **2.2 记录每次更新到仓库** - **检查当前文件状态**:使用`...
【S3git:云存储的Git】\n\nS3git是一个创新的开源项目,它将Git的强大版本控制系统与云存储服务相结合,如Amazon S3。由Go语言编写,S3git提供了一种高效、安全的方式来管理和跟踪云存储中的数据变化,同时也允许...
在实际开发中,可以使用`git clone`命令下载Linux内核源代码仓库,然后使用`git log`查看提交历史,`git diff`比较不同版本的区别,`git branch`和`git merge`进行分支操作。此外,`git blame`可以追踪代码的作者,...
Git 和 Repo 扫盲——如何取得 Android 源代码 在了解 Git 和 Repo 之前,我们首先需要了解版本控制系统的概念。版本控制系统是指一种管理和跟踪项目代码变更的系统,它可以帮助开发者记录和管理项目的历史修改记录...