写在前面,本文的重点有两个,一是怎么本地连接上远程仓库,二是连接后怎么获取仓库更新、上传仓库更新。
重点内容会手把手详细教,其他的内容只会略谈。
目录
2.从仓库中上传更新(git add,git commit, git push)
一、远程连接github仓库
如果想要远程连接github仓库,需要按下面六个步骤进行。
如果你已经完成了其中一些步骤,比如git的安装、仓库的创建,那么可以跳过对应章节。
但如果前面步骤没有完成,请根据指导一步步进行,因为完成了前面的步骤才能开展后续的连接。
1.git安装
1)Linux系统
如果你用的是Linux系统,直接输入下面命令即可安装git:
sudo apt update
sudo apt install git
之后的指导中我会提到在Git Bash输入各种命令,你只需要在Linux的终端输入即可。
2)Windows系统
官网安装网址如下,git的安装在各个网站有很详细的指导,此处不再赘述。Githttps://git-scm.com/
下载了git之后,我们可以借助它在本地与github进行交互。
git是一个分布式版本控制系统,用于跟踪文件的更改,尤其是源代码的更改。它允许多个开发者在同一项目上协作,管理代码的不同版本。
GitHub是一个基于 Web 的 Git 仓库托管服务,提供了 Git 版本控制系统的云端实现。
简言之,git是一个灵活高效的工具,开发者可以使用 Git 在本地进行版本控制和管理。
2.配置git用户及邮箱
在安装好的git bash中输入下面两个命令,其中“用户名”替换成你的github账户名,“邮箱”替换成你的邮箱。比如git config --global user.name ‘风染yeye’。(当然前提是你已经在github拥有账户)
git config --global user.name ‘用户名’
git config --global user.email ‘邮箱’
上面两条命令用于配置 Git 的全局用户信息,即设置 Git 提交时显示的用户名和电子邮件地址。
毕竟,如果想要上传更新代码,至少得有个身份信息。
配好后,输入下面的命令可以检查是否配置成功:
git config --global -l
(扩展)Git Bash与Git CMD有什么区别?
Git Bash 是一个模拟 Unix shell 的环境,基于 Git for Windows 的 MinGW 环境。这意味着它支持许多类 Unix 的命令和功能,如 `ls`、`cp`、`mv` 等。
Git CMD 是一个 Windows 命令提示符的扩展,主要提供 Git 命令。它不支持类 Unix 的命令和功能,只支持 Windows 的命令提示符功能。
对于大多数开发者来说,Git Bash 是更为推荐的选择,尤其是如果你需要更强大的命令行环境和更丰富的命令集。
3.配置ssh与添加公钥
为什么要配置SSH?
SSH 提供了一个加密的通道,可以确保在你和 GitHub 之间传输的数据是安全的。在远程连接 GitHub 仓库时,使用 SSH(Secure Shell)协议进行身份验证和数据传输是一个安全且常用的方法。
下面需要进行两步:本地生成ssh密钥对、在github上添加公钥
1)本地生成SSH密钥对
在本地Git Bash下输入下面命令:
(此处的“邮箱”需要替换成你的邮箱,比如 ssh-keygen -t rsa -C "[email protected]")
ssh-keygen -t rsa -C "邮箱"
你可能得到下面的结果:
这里我们生成了密钥对,分别是公钥(`.pub` 文件)和私钥(不带扩展名的文件)。
红框圈起来的是我们生成的公钥的保存位置(.../.ssh/id_rsa.pub),现在我们需要打开这个文件,把里面存储的公钥内容复制出来。
你可以直接在电脑中找到这个文件并打开,并复制文件中的所有内容。
如果你是Linux系统,也可以在终端进入到.ssh路径下,然后输入“cat id_rsa.pub”来获取文件内容。
如图,请你复制id_rsa.pub文件中的所有内容,下一步需要用到。
2)把生成的公钥添加到github
这里需要你打开github.com,点击你的头像图标,进入“settings”.
接着你会看到下述页面,点击左方的“SSH and GPG keys”,然后点击右方的“New SSH key”.
接着你会看到下面界面:
把你刚刚从id_rsa.pub中复制的内容,全部粘贴在“key”下方的方框内;
上面的Title,你可以取任何名字来对这个SSH key命名。
书写完毕后,点击绿色按钮“Add SSH key”即添加完成。
你也可以输入下面的命令来验证你是否配置成功:
ssh -T [email protected]
如果出现类似下图的提示,说明配置成功:
4.创建github仓库(已经有仓库可略过这节)
在github网页右上角点击“+”,再点击New repository。
点击后会出现下面的界面,在“repository name”下框中填写你想取的仓库名字。
需要注意的是,下方对Public还是Private选项的勾选,如果你选择Public,那么你的仓库内容可以被任何人看到(但是谁可以修改仍由你决定);如果你选择Private,那么只有你指定的人可以看见和修改。
最后点击右下角的绿标“Create Repository”,即可创建仓库。
5.把远程仓库内容克隆到本地
在github网页点开你想要远程连接的仓库,再点击右上角的“Code”:可以看到下方框中有http://xxx.git,点击右边的复制按钮,把这个链接复制下来,一会儿要用。
这时候你可以先创建一个空文件夹,等会把仓库中的文件就拷贝到这个空文件夹中。
打开Git Bash,进入到你创建的空文件夹的路径下(cd 你的文件路径);或者打开你的文件夹,然后点击右键打开Git Bash(会自动进入当前文件夹的路径下),然后执行下述命令:
git clone https://xxx.git
其中,https://xxx.git请替换成你刚刚复制得到的仓库链接。
在使用 `git clone` 命令时,Git 已自动设置好与你的远程仓库的连接,所以不需要再执行 `git remote add`。
6.完成远程连接,检查是否连接成功
把远程仓库克隆到本地后,在远程仓库的文件夹路径下面,你就已经完成了与远程仓库的连接。(注意时远程仓库的文件夹路径下,比如你之前创建的空文件夹是../emp_direc,仓库文件夹名字是rep_direc,那么你需要在./emo_direc/rep_direc下执行后续操作)
你可以输入下面命令来验证,是否完成了远程连接:
git status
如果你能成功运行这个命令,得到仓库的更新状态,那么恭喜你,连接成功。
二、从远程仓库中获取/上传更新
1.从仓库中获取更新(git pull)
执行上一步的git clone之后,你已经把仓库中的内容完全拷贝到本地。但是,远程仓库的内容可能会更新,比如他人上传了新的文件或修改了已有的文件。这时候,为了把远程仓库的更新同步到本地,确保一致性,你可以执行下面的命令:
git pull origin main
注意,这里你需要把“main”替换成你想要更新的分支名称。分支名称你可以在github网页,点击仓库后的左上方找到:
或者你也可以输入下面命令来查看,本地有哪些分支:
git branch
在 Git 中执行 `git pull origin master` 命令时,实际上进行了两个步骤,一是“fetch”(获取),二是“merge”(合并)。`fetch` 操作就是看一下远程仓库作了哪些更新但不会把更新作用到本地,而“merge”操作会将一个分支的更改合并到当前分支。如果你执行“git pull”或者“git merge”时遇到问题,多半是因为你在本地的更改与远程仓库的更改出现了冲突(比如你们把同一段代码修改成了不同样子),那么这需要你手动解决冲突(Bash界面会告诉你冲突的文件,需要你自己手动更改)
2.从仓库中上传更新(git add,git commit, git push)
建议你在上传更新前先执行上一步的“git pull origin <分支名称>”,先把远程更改同步在本地。
同步之后,你主要需要进行三步:
先是将更改添加到暂存区,为下次提交做准备。执行下面其中一个git add命令:
git add file_name #将当前目录下名字为“file_name”的文件更改暂存
git add #将当前目录下所有更改暂存
再是把更改提交到本地仓库,双引号中你可以描述你的提交(填什么都可以):
git commit -m "update file_name for 1st time"
最后将本地仓库的更改推送到远程仓库,“main”需要替换成你作用到的分支名称。
git push origin main
完成这三步之后,你应该已经成功把更新同步到了远程仓库,你可以在github网页的仓库中检查你的更改。
ps:如果你的本地修改是在原有文件基础上创建一个新文件夹,新文件夹中需要有文件,才能把新文件夹成功上传哟~