Git建立远程代码仓库和本地代码仓库
使用Git管理代码,需要有两个仓库。一个是远程代码仓库,一个是本地代码仓库。
远程仓库是用来托管代码的平台,比如说Github,GitLab,Gerrit,码云Gitee等,这些都是开源的代码仓库系统。因此,很多公司都会自己搭GitLab,自己搭Gerrit。当然了,这些开源系统的功能并不限于代码仓库,还有代码评审等。
本地仓库是开发者(程序员)本地(开发环境)的代码存放仓库,其实就是一个文件夹,通过git来与远程仓库的代码建立连接,开发者在本地编写代码,然后提交到远程代码仓库。
一、本地配置用户名和密码
1. 本文以windows为例,安装好 git , 在本地右键点击,进入 Git Bash 界面,使用命令 git config --list 或 git config -l 查看当前的 git 配置。
git config --list
刚安装 git 时,配置里面是没有 user.name 和 user.email 的,但是向远程仓库提交代码需要使用 user.name 和 user.email ,所以先配置。
2.配置用户名和邮箱,配置的用户名和邮箱会被用来生成 RSA 公钥和私钥。
配置用户名命令:
git config --global user.name "mygit"
配置邮箱命令:
git config --global user.email "mygit@git.com"
其中的用户名和邮箱填自己的,也可以自定义一个用户名和邮箱。
--global 表示配置的用户名和邮箱是全局的,表示当前环境中所有分支都可以使用,也可以不指定--global。
如果要专门查看配置中的 user.name 或 user.email ,可以使用命令 git config user.name 或 git config user.email 来查看。
二、生成RSA公钥和私钥
1.配置好用户和邮箱后,输入 ssh-keygen 命令生成 ssh 的RSA公钥和私钥。
ssh-keygen
在执行的过程中,会询问生成的公钥和私钥存放在哪,确认生成等,一路回车就可以了,直到运行结束,如下图。
2.生成的公钥和私钥默认保存在当前登陆系统的用户的家目录下。里面有一个 .ssh 的隐藏文件夹,里面的 id_rsa 文件是私钥, id_rsa.pub 文件是公钥。
打开 id_rsa.pub 文件,复制公钥,在后面的步骤中,我们会将公钥配置到远程代码仓库中。
3. 当然,也可以直接在图形界面的文件夹中找到私钥和公钥的文件,用记事本打开,复制公钥。
三、配置远程公钥
1. 以 Github 为例,先注册一个 Github 账号,然后点击右上方的个人头像,再点击 “Settings” 进入设置页面。
2. 在 “Settings” 页面点击 “SSH and GPG keys” 进入 SSH keys 设置页面。
3. 点击 “New SSH key” 添加 SSH key, SSH key 是可以配置很多个的,即使同一环境中,也可以配置多个 SSH key 。
4. 将前面生成的公钥粘贴到 Key 里,可以给这个公钥定义一个标题,然后点击 “Add SSH key”按钮。
5. 如下图,则表示公钥已经添加成功,我们可以使用这个公钥来提交和拉取代码。
四、建立远程代码仓库
1. 远程代码仓库是帮助我们存放和托管代码的,当我们配置好公钥后,就可以在 Github 上创建项目了。
每一个项目文件夹相当于一个代码仓库。所以新建仓库可以理解为新建一个项目。
如下,我们新建一个 GitProject 项目,Description 可填也可不填,Public 和 Private 选择 Pullic 公开。初始化 README 文件可选可不选,.gitIgnore文件里面写的是本地向远程仓库提交代码时忽略的文件,如 Python 中的 .pyc 文件, 也是可填可不填。
填写好项目的设置后,点击 Create repository 创建项目。
2. 创建好项目后,就相当于在 Github 上有了一个叫 GitProject 的代码仓库。
现在这个仓库是新创建的,我们还没有提交任何的代码,所以里面只有一个 README 文件。
为了使远程仓库和本地仓库建立连接,我们需要将远程仓库的代码克隆到本地。点击右方的 Clone or download ,然后在下拉的菜单中点击 Use SSH 切换成 Clone with SSH,然后点击右下方的复制按钮,复制克隆代码的路径,后面的步骤会 clone 这个仓库的代码到本地。
五、建立本地代码仓库
1. 到本地电脑中,找一个代码仓库存放的位置,如桌面 Desktop ,在 Desktop 创建一个文件夹 git_project ,准备将本地代码存放在这个文件夹中。
2. 进入 git_project 文件夹,初始化本地代码仓库。
初始化命令:
git init
这个步骤很简单,但很容易被遗忘,在执行 git init 前,git_project 是一个普通的文件夹,执行 git init 后,这个文件夹就可以当成一个本地代码仓库使用了。因为初始化后,会在 git_project 中生成一个隐藏文件夹 .git 。
初始化仓库后,拉取在 Github 上创建的 GitProject 项目的代码到本地仓库中。
拉取命令为 git clone ... ,拉取的地址是在 Github 复制的 Clone with SSH 的地址。
3. 现在是本地仓库第一次拉取代码,中间会询问输入 yes/no ,输入yes ,很快代码就拉取成功了,这时候当前目录下有一个与远程仓库中的项目名相同的 GtiProject 文件夹,里面的代码与远程仓库是一样的。
现在,远程代码仓库和本地代码仓库都已经创建好,并且代码保持一致,已经实现了代码的管理。
进入 GtiProject 中,可以使用 git branch 可以查看当前处于的分支,一开始都是 master ,可以使用 git status 查看当前的代码状态。
完成以上的配置后,代码已经使用 Git 管理起来了,后面就可以在本地编程,然后提交到远程仓库,可以对代码进行版本管理,分支管理等。