title: Git
date: 2021-06-22 11:37:26
tags: [版本控制, Git]
Git
第一次学习 Git 的时候好像还是 19 年,那时候才刚上大学,才大一下学期,只会用 txt 编写,现在不一样啦,学会了 markdown,所以打算用 markdown 来重新写一篇关于 Git 的使用手册。
概述
Git 是用 C 语言开发的分布式版本控制系统。
分布式和集中式的版本控制系统有什么区别呢?
分布式版本控制系统的代表是 Git。
集中式版本控制系统的代表是 Svm。
集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
分布式版本控制系统根本没有中央服务器,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件 A,你的同事也在他的电脑上改了文件 A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
参考:廖雪峰
Git 基本操作
Git 常用的是以下 6 个命令:git clone、git add 、git commit、git checkout、git push、git pull。
- workspace:工作区(就是你在电脑里能看到的目录)。
- staging area:暂存区/缓存区(存放在
.git
目录下的 index 文件中(.git/index
))。 - local repository:版本库或本地仓库(
.git
目录)。 - remote repository:远程仓库。
本地仓库
什么是本地仓库
就是一个目录中的所有文件(除了 .gitignore
中忽略的文件)都被 Git 管理起来。每个文件的修改、删除,Git 都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以还原。
什么是 .gitignore
简单的来说,就是在这个文件中申明那些文件你不希望被 Git 管理的文件。github 提供的.gitignore。
初始化本地仓库命令
git init
首先创建一个新的文件夹并进入该文件夹,再执行上述命令。这一步骤会生成一个.git
的目录,这个目录是 Git 来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把 Git 仓库给破坏了。(.git
目录默认是隐藏的)
克隆远程仓库到本地
git clone 不指定分支
git clone <https/ssh> [本地项目名(可选项)]
git clone 指定分支
git clone -b <branchname> <https/ssh> [本地项目名(可选项)]
<branchname>是分支名,<https/ssh> 是拷贝项目的链接。如果你想要一个不一样的名字, 你可以在该命令后加上你想要的名称。
提交与修改
命令 | 说明 |
---|