0 引言
本文介绍如何创建一个 Git 本地仓库,以及与远程仓库的关联。
1 初始化仓库(git init)
1.1 概述
Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。
在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。
1.2 方法一:创建目录后初始化
进入想要创建仓库的目录,或者先创建一个新的目录:
mkdir my-project
cd my-project
使用当前目录作为 Git 仓库,只需使它初始化。
git init
截图如下:
该命令执行完后会在当前目录生成一个 .git 目录。
1.3 方法二:使用指定目录作为Git仓库
git init newrepo
命令截图如下:
初始化后,会在 newrepo 目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
1.4 与远程仓库关联
使用 git remote add 命令关联远程仓库,如下:
git remote add origin repo
#查看远程仓库信息
git remote -v
示例截图:
1.5 从远程仓库拉取内容
在此之前,确保用add命令和commit命令提交了内容到本地仓库。
使用git pull命令,具体如下:
git pull origin main
命令截图如下:
上图提示错误,原因是,本地创建的仓库是全新的,与远程仓库没有共同历史的基础。需要用如下命令:
git pull origin main --allow-unrelated-histories
允许 Git 合并没有共同历史的基础,但请确保你了解这可能会带来的合并冲突,并准备好解决这些冲突。
会提示要修改冲突日志。
截图如下:
拉取后,目录的内容变成如下:
红框中的文件,为远程仓库的内容。
1.6 推送本地库的内容到远程仓库
使用如下命令:
git push -u origin main
截图如下:
1.7 小结
用init命令创建本地库之后,不添加任何内容,直接与远程仓库关联,从远程仓库拉取内容,此时能够正常。示例如下:
否则,创建本地库后,又添加了内容,操作就麻烦了。上面的步骤就是这样的结果。
所以,用init命令,感觉不是很方便。
2 添加版本控制(git add)
如果当前目录下有文件想要纳入版本控制,需要用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:
# 添加所有文件到暂存区
git add .
# 查看状态
git status
# 提交文件到本地仓库
git commit -m '初始化项目版本'
以上命令,将目录下的文件提交到本地仓库中。
截图如下:
注:
在 Linux 系统中,commit 信息使用单引号 ',Windows 系统,commit 信息使用双引号 "。
所以在 git bash 中 git commit -m '提交说明' 这样是可以的,在 Windows 命令行中就要使用双引号 git commit -m "提交说明"。
3 克隆(git clone)
3.1 概述
使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。
3.2 命令格式
克隆仓库的命令格式为:
git clone <repo>
如果我们需要克隆到指定的目录,可以使用以下命令格式:
git clone <repo> <directory>
参数说明:
repo:Git 仓库。
directory:本地目录。
3.3 示例
git clone https://github.com/h2768/test htest
截图如下:
本地文件如下:
如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
4 配置(git config)
git 的设置使用 git config 命令。
4.1 显示当前的 git 配置信息
git config --list
4.2 编辑 git 配置文件
git config -e # 针对当前仓库
或者:
git config -e --global # 针对系统上所有仓库
4.3 设置提交代码时的用户信息
$ git config --global user.name "runoob"
$ git config --global user.email test@runoob.com
如果去掉 --global 参数只对当前仓库有效。
5 总结
总体上来看,更倾向于用clone的方式,来创建本地仓库。