Git基本使用教程
文章目录
Git基本使用教程
Git介绍
是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL授权条款释出。最初目的是为了更好地管理Linux核心开发而设计。应注意的是,这与GNU Interactive Tools[4](一个类似Norton Commander(英语:Norton Commander)界面的文件管理器)不同。
Git与SVN的区别
Git 与 SVN 区别点:
- 1、Git 是分布式的,SVN 不是 :这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
- 2、Git 把内容按元数据方式存储,而 SVN 是按文件: 所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
- 3、Git 分支和 SVN 的分支不同: 分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
- 4、Git 没有一个全局的版本号,而 SVN 有: 目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
- 5、Git 的内容完整性要优于 SVN: Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
基本命令操作
初始化仓库
- git init 初始化仓库
- git clone 拷贝一份远程仓库
提交与修改
- git add 添加文件到暂存区
- git status 查看当前仓库的状态,会显示有变更的文件
- git diff 比较文件的不同,即暂存区与工作区的差异
- git commit 提交暂存区到本地仓库
- git reset 回退版本
- git rm 删除工作区文件
- git mv 移动或重命名工作区文件
提交日志
- git log 查看历史提交日志
- git blame 以列表形式查看指定文件的历史修改记录
远程操作
- git remote 远程仓库操作
- git fetch 从远程获取代码库
- git pull 下载远程代码并合并
- git push 上传远程代码并合并
配置GitLab账号的SSH(以GitHub为例,其他仓库操作同理)
首先打开Git bash,然后键入以下命令,一路Enter即可
ssh-keygen -t rsa
然后打开我们的用户目录**.ssh**目录,一般默认是 C:\User\xxx.ssh
以文本打开id_rsa.pub文件,并复制其中的内容到GitLab的个人页面的setting中,并保存,即可配置完成。
使用VSCode集成的Git工具
Vscode编辑器,为我们提供了一个自带的Git功能,如下图:
首先我们需要点击资源管理器,然后点击克隆存储库
打开我们的Git项目页面
由于我们刚才配置过ssh,所以我们可以采取ssh的方式来clone项目。点击克隆存储库,然后输入复制的git仓库地址,然后选择存储到本地的路径即可。
我们新增的文件,显示为绿色,并且尾部有U来标识。U是代表Untracked(未追踪),也就是新增的问题。然后我们可以看到版本控制的标签栏出现了标记。
我们点击版本管理标签,可以发现,我们新增的文件在这里显示了出来,并且标记也是U,然后我们可以点击 + 号,用来进行 git add . 操作,将test.py添加到暂存区。
添加到暂存区过后,test.py的标记变成了A,代表added,已经add。同时,我们也可以看到这个界面,左边代表上一版本的文件,右边代表刚刚add的文件,所以可以做到对比的功能。这里左边是空,代表这个文件是一个新增的文件。
我们点击 √ 即可实现git commit 的操作,或者是 … 中,点击提交,也是同样的功能。
提交的时候,一定需要填写提交的信息,来表明当前提交是做了什么操作。
提交过后,文件就在本地仓库了,如果需要提交到远程仓库,我们可以点击 … ,然后选择推送(push),来实现 git push 的操作,如果当前仓库有分支,那么我们还可以选择提交到哪个分支中,如图二,变基分支,实现 git checkout xxx 操作
然后到GitHub仓库页面,我们可以看到刚刚提交的文件。
参考资料
Git 基本操作 | 菜鸟教程 (runoob.com)(https://www.runoob.com/git/git-basic-operations.html)
文章作者 halface
上次更新 2022-05-16