Git是什么
Git是一个开源的分布式版本控制系统,由Linus Torvalds为更好管理Linux内核开发而设计,让开发者与项目团队能更好地协同工作,在github上提供了一个Git代码的托管服务。1
Git的特点:2
-
保存文件修改记录。进行开发的时候,在本地可以保存我们代码,然后上传到服务器中。
-
标记版本号,便于区分。每次和服务器交互时都会提交一些修改的代码,git会为每一次提交生成版本号,用这个版本号来进行区分每一次的提交。这个版本号在git当中会使用一个hash值进行唯一区分;这个hash函数使用的是sha1(不仅git使用这个sha1生成hash值,一些著名的软件,如redis、lua等也是使用sha1产生hash值)。
-
提供历史版本记录。协同开发的时候,产生的每次提交都会在git上保存有历史版本信息,根据历史版本信息可以追溯到具体代码提交;以及当代码出现bug时可以根据历史版本锁定bug位置。
可还原到历史指定版本。当代码出现bug时,可以还原到历史指定的版本。 -
对比版本差异。使用git diff工具进行比较文件差异
Github是什么
Github是基于Git的在线托管平台,现在是微软旗下公司。Github为开发者们的Git仓库提供托管服务,同时提供社区功能,让用户们可关注其他用户、点赞项目(star)、下载克隆项目(clone)、对项目代码提出改进建议(fork)。
Github使用
进入Github官网(https://github.com),选择Sign in(注册),完成个人信息注册后登录。
(tips: 1. Github与国内连接不稳定,有时需使用科学上网工具,2. 个人信息中username请谨慎填写<可能会陪伴你很久……>)
Github仓库创建:1
登录Github账户后,选择页面左上角菜单栏,然后选择 New (新建仓库)。
可参考:
选择填写以下内容:
(tips:README文件一般用来让用户介绍该仓库的内容与使用方法)
接着选择右下角Create repository(创建仓库)。
Git与Github绑定
创建仓库后,需要自己本地的电脑克隆一个库,方便将代码同步到Github上的仓库,为此需要先安装git工具。
在Linux上安装 git:
如果在ubuntu或者Debian系统:
1 | sudo apt-get install git |
如果在CentOS或者Fedora系统:
1 | sudo yum install git |
在Windows上,则需要使用Git fow windows软件,来帮助用户使用命令行工具(Git Bash)来执行Windows应用于访问Winodows文件。此外,Git Bash还拥有着使用SSH进行远程操作的能力。
在Git官网(https://git-scm.com/downloads )
下载对应的Windows版本,依次点击下一步,最后弹出页面:
页面中两项请打钩。
接着会打开一个Git Bash终端
Git常用命令:
获取到Git工具后,需要完成Git与Github的绑定
获取ssh密钥
关于ssh的介绍可以参考:https://ivel-li.github.io/2024/11/25/ssh概述
在windows中刚打开的Git Bash中(或者linux的终端中):
1 | cd ~/.ssh |
如返回 “no such file or directory” 表明电脑没有ssh key,需要创建ssh key;
在终端输入
1 | ssh-keygen -t rsa -C "在这里输入你的GitHub账户" |
连续三次回车(Enter)后,终端会显示:1
找到上述路径的文件夹,里面存有ssh的两个密钥,id_rsa为私钥,id_rsa.pub为公钥。
用记事本打开id_rsa.pub文件,复制里面的全部内容。
与Github仓库绑定
找到你的个人账户的Settings,接着进入SSH and GPG keys项目。
选择新建密钥。
填写title并粘贴刚才复制的公钥,接着点击下方的Add SSH key,完成绑定。
在Git bash中输入
1 | ssh -T git@github.com |
接着输入yes,如果输出如下则表示绑定成功。
接下来是简单的配置环节:
gitname最好与github账户名字相同,git邮箱有github账户的邮箱。
1 | git config --global user.name “gitname” |
至此,完成与Github仓库的绑定。
Github简单使用
- Git clone:将库克隆到本地,方便上传代码。
进入自己刚才新建的库的我也,点击 <> Code,复制网址。
在本地选择的存储位置,右键选择Git Bash Here:
输入:
1 | git clone 刚才复制的网址 |
接着发现本地选择的目录下已经保存了我们的库。
- 上传代码:
我们尝试在本地新建一个For_test.txt文件,并上传到Github仓库,并为其添加备注
可以观测到github上我们的文件已经上传成功:
Git push常用语法为:
1 | git push <远程仓库名> <分支名> |
此处的远程仓库名是什么,分支是什么
分支一般为协同开发时不同开发者分别上传的内容,在初始化Git仓库时,Git默认已创建一个master(也叫main)的分支。
远程仓库一般直接写为origin,直接代表本地文件夹相对应的远程仓库
- 拉取文件
常用命令为
1 | git pull <远程仓库名> <分支名> |
从远程仓库获取代码并合并本地版本。
1 | git pull origin master:brantest |
将远程仓库origin的master分支拉取过来,与本地的brandtest分支合并。