git基本操作

Posted 等会儿我呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git基本操作相关的知识,希望对你有一定的参考价值。

一、git的特点

1、版本控制:可以同时解决多人同时开发的代码问题,也可以解决找回历史代码的问题
2、分布式:Git是分布式版本控制系统,同一个GIt仓库,可以分布到不同的机器上。首先,找一台电脑充当服务器的角色,其他每个人都从这个“服务器”仓库可从一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库,也从服务器仓库拉拉取别人的提交,可以自己搭建这台服务器,也可以使用GitHub网站。

二、安装与配置

(1)安装命令如下:

sudo apt-get install git

(2)安装成功后,运行如下命令:

git

三、创建一个版本库

新建一个目录git_test,在git_test目录下创建一个版本库,命令:

git init

(2)在git_test目录下创建一个文件 code.txt,编辑内容如下:

四、版本创建与回退

1、版本创建

(1)使用下面两条命令来提交文件作为一个版本

git add code.txt
git commit -m \'first commit\'

这里的first commit只是自己提交的一个说明,可以更改为自己的习惯

(2)使用下面命令可以查看版本记录

git log

红色标注的为当前 提交的版本编号

(3)在code.txt中进行添加,并作为 the second commit 进行提交

2、版本回退

(1)现在如果想回到某一个版本,可以使用如下命令

git reset --hard HEAD^

注意:

HEAD^为上一个版本,两个尖括号为上上一个版本

也可以使用HEAD ~1为前一个版本,HEAD ~100为当前版本的前100的版本

可以看出,他已经回退到第一个版本

(2)退回到指定版本,使用命令行

使用

git reflog

查看操作记录,用来得到需要指定版本的版本号

红色的就是每一次操作的版本号,另外,每一次git log后下面的那一串字符串就是当前的版本编号。

git reset --hard 8de1f89

可以看到已经成功到达版本二

五、工作区和暂缓区

1、工作区(Working Directory)

电脑中的目录,比我我们的 git_test,就是一个工作区

2、版本库(Repository)

工作区有一个隐藏目录.git,这个不是工作区,而是Git的版本库。

Git的版本库里存了很多东西,其中最重要的是称为stage(或者叫index)的暂缓区,还有git为哦我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

因为我们创建 git版本库时,git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交修改.

可以简单理解为,需要提交的文件修改统统放到暂缓区,然后,一次性提交暂缓区的所有修改

(1)我们在这里新建一个 code2.txt 并在code.txt 中进行添加

然后使用命令行git status进行查看当前工作树的状态

有看到它提示我们code.txt被修改,而code2.txt没有被跟踪

(2)使用如下命令把 code.txtcode2.txt加入到暂缓区,然后再执行git status命令,结果如下

git add命令是把所有提交的修改存放到暂缓区。

(3)然后,执行git commit就可以一次性把暂存的所有修改提交到分支,创建一个版本

(4)一旦提交后,如果你没有对工作区做任何修改,那么工作区就是“干净的”,执行如下命令就可以发现:

六、管理与修改

(1)如果对工作区的文件进行修改,但是没有添加到暂存区就直接git一个新版本,这样这个新版本并不会做出任何改动。

我们可以通过```git chechout -- code.txt``来丢弃工作区的改动。

(2)如果对工作区文件的修改已经添加到暂存区了,这个时候想要把暂存区的修改撤掉,可以使用

git reset HEAD code.txt

七、对比文件的不同

(1)对比工作区和HEAD版本文件的不同:

git diff HEAD -- code.txt

(2)对比两个版本文件的不同

git diff HEAD HEAD^ -- code.txt

九、删除文件

(1)这里的删除文件作用于工作区的文件

rm code.txt

我们已经删掉了在工作区的code.txt文件,我们如果使用git status可以看到已经检测到我们删除了工作区的文件

这时我们如果想撤销这次删除操作,可以使用git checkout -- code.txt就可以

(2)如果想真正的删除这个文件,可以使用命令git rm code.txt删掉,并且git commit

(3)如果commit次数过多,这个时候我们git log就会发现打印不完全,剩余的会自动隐藏,我们可以使用

git log --pretty=online

注意:

命令git rm用于删除一个文件,如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能回复文件到最新版本,你会丢失最近一次提交后你修改的内容

以上是关于git基本操作的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

markdown 一堆Git的基本片段

如何管理在每个 git 版本中添加私有代码片段?

使用 Git 来管理 Xcode 中的代码片段

markdown Git代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段