Git命令教程(自己整理的知识)

(1)创建版本库

1. pwd命令用于显示当前目录.在我的电脑上.这个仓库位于 /c/Users/25165/Desktop/learngit .

在这里插入图片描述

2.通过git init命令把这个目录变成Git可以管理的仓库.(瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository)现在可以发现当前目录下多了一个.git的目录)

在这里插入图片描述

添加文件到版本库

3.现在我们编写一个readme.txt文件,内容如下(以此为例子):
Git is a version control system.
Git is free software.
(!!!注意:一定要放到learngit目录下(子目录也行))
4.git add 命令 把文件添加到仓库(没有任何显示,说明添加成功)

在这里插入图片描述

5. git commit 命令 把文件提交到仓库(-m 后面输入的是本次提交的说明 )

在这里插入图片描述

(2)掌握工作区的状态

1.尝试修改readme.txt文件 例如:
Git is a distributed version control system.
Git is free software
2. git status 命令看结果(git status 命令掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,还没有准备提交的修改)

在这里插入图片描述

3. git diff 命令查看(之前修改了什么)

在这里插入图片描述

4.提交修改(和提交新文件一样)
(git add readme.txt之后,同样没有任何输出,在执行git commit命令之前,可以再运行git status命令看看当前仓库的状态,执行git status后,提示我们提交的修改包括readme.txt,commit提交后,工作目录是干净(working directory clean)的)

在这里插入图片描述

(3)版本回退

1.尝试修改readme.txt文件 再提交 例如:
Git is a distributed version control system.
Git is free software distributed under the GPL.

(中间status这步可以省略)
在这里插入图片描述

2.用 git log 命令查看readme.txt文件现在有多少个版本被提交仓库

在这里插入图片描述

3.命令git log --pretty=oneline查看最简版本信息(前面数字为版本号)

在这里插入图片描述

4.用 git reset 命令回退版本也就是 add distributed 版本(下图命令中是HEAD^ 为上一个版本,则上上一个版本就是HEAD^^)(可以如下图所示用cat readme.txt 命令看看当前是否回退上个版本 也可以使用git log命令 查看版本号)

在这里插入图片描述

5.若又回退时之前版本 则可使用命令加版本号

在这里插入图片描述

6.命令 git reflog 用来记录每一次命令(也可使用此命令查看版本号)

在这里插入图片描述

(4)工作区和暂存区

工作区:在电脑里能看到的目录,比如learngit文件夹就是一个工作区。
版本库:工作区有一个隐藏目录“.git”,这个不算工作区,而是Git的版本库。
暂存区:版本库里stage(或者叫index)。
分支master:自动创建的第一个分支master,指向master的一个指针叫HEAD。

在这里插入图片描述

1.刚开始文件在工作区,经命令git add < file> 执行后,文件到达暂存区。
2.经命令git commit -m “说明” 执行后文件到分支

(5)撤销修改

1.在执行add命令未提交想撤销修改时 可用git status命令查看一下 会告诉你命令git reset HEAD < file>可以将文件在暂存区的修改撤销文件回退到工作区。
2.继续用git status命令查看一下 可知道git checkout – < file>命令可以丢弃工作区的修改。

(6)删除文件

1.首先用命令rm < file> 删除文件,工作区和版本库就不一致了, 使用git status命令立刻知道那些文件被删除了。
2.如果你要删除的就是这些文件,则使用命令git rm < file> 并且commit命令提交删除。
3.如果你感觉你误删了 由于版本库还有 因此可以使用命令git checkout – < file>一键还原。

(7)远程仓库(使用github)

1.注册github账号。
2.在电脑用户目录下看是否有.ssh目录,若有则再看看有没有id_rsa和id_rsa.pub这两个文件,若有直接第三步;若没有,打开Git Bash,创建SSH Key:
创建命令:ssh-keygen -t rsa -C “[email protected]
之后一直回车,若成功则在电脑主目录里可以找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以告诉给别人。
3.登录github,打开“Account settings”,“SSH Keys”页面,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,就能看到已经添加的Key。

(8)添加远程库

1.在本地已经有一个git仓库了,又想要在github创建一个git仓库,并且向让俩仓库远程同步,首先登录github创建一个新仓库。
2.命令:git remote add origin [email protected]:xiaoyingzi/learngit.git关联本地库
其中origin为远程库名可任意取,后面 xiaoyingzi替换为你自己的github账户名
3.命令git push -u origin master本地库的所有内容推送到远程库,实际上是把当前分支master推送到远程。
4.命令 git push origin master 推送最新修改。

(9)从远程库克隆

1.新建仓库,勾选Initialize this repository with a README,会有README.md文件。
2.命令git clone [email protected]:xiaoyingzi/gitskills.git克隆新建仓库到本地库,其中这个[email protected]:xiaoyingzi/gitskills.git替换为你自己的仓库链接。

(9)分支管理

1.只有一个分支master时,

在这里插入图片描述

master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点。每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长。
2.当创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上。在这里插入图片描述
3.从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动⼀一步,而master指针不变。在这里插入图片描述
4.假如我们在dev上的⼯工作完成了,就可以把dev合并到master上,就是直接把master指向dev的当前提交,就完成了合并。

在这里插入图片描述

5.合并完分支后,可以删除dev分支,支就是把dev指针给删掉。在这里插入图片描述
6.命令:git checkout -b dev创建dev分支,然后切换到dev分支。(命令相当于$ git branch dev和$ git checkout dev)
7. 命令:git branch查看当前分支(git branch 命令会列出所有分支,当前分支前面会标一个*号)
8.命令:git checkout master切换master分支。
9.命令:git merge dev合并分支。(git merge 命令用于合并指定分支到当前分支)
10.合并完成后可放心删除分支,命令:git branch -d dev删除dev分支。
11. git log --graph 命令可以看到分支合并图。(git log --graph --pretty=oneline --abbrev-commit)
12.命令:git merge --no-ff -m “merge with no-ff” dev表示准备合并dev分支,注意–no-ff参数,表示禁用“Fast forward”。
13.命令:git stash可以把当前工作现场“储藏”起来,等以后恢复现场后再继续工作。
14.命令:git stash list查看工作现场。
15.命令:用(命令13 )后想恢复工作:
  • 用 git stash apply 恢复,但是恢复后,stash内容并不删除,你需要用 git stash drop 来删除。
  • 用 git stash pop ,恢复的同时把stash内容也删了。
16.命令:git stash apply stash@{0} 恢复指定的stash.
17.命令:git pull把最新的提交从origin/dev抓下来。
18.命令:git push origin branch-name 从本地推送分⽀,如果推送失败,先用git pull抓取远程的新提交。
19.命令: git remote -v查看远程库信息。
20.命令:用 git branch --set-upstream branch-nameorigin/branch-name建立本地分支和远程分支的关联。

(10)标签

1.(首先,切换到需要打标签的分支上)命令:git tag v1.0打一个新标签。
2.命令 git tag 查看所有标签。
3.若忘记打标签,可用命令git log --pretty=oneline --abbrev-commit找到历史提交的commit id,再用命令 git tag v0.9 6224937即可。
4.用 git show tagname 查看标签信息.
5.git tag -a v0.1 -m “version 0.1 released” 3628164创建带有说明的标签,⽤用-a指定标签名,-m指定说明文字.
6.git tag -s v0.2 -m “signed version 0.2 released” fec145a通过-s用私钥签名一个标签.
7.命令: git push origin tagname 可以推送一个本地标签
8.命令: git push origin --tags 可以推送全部未推送过的本地标签
9.命令: git tag -d tagname 可以删除⼀一个本地标签
10.命令: git push origin :refs/tags/tagname 可以删除一个远程标签。

补充

1、命令:git pull --rebase origin master 将当前的提交到本地仓库的内容和远程仓库合并

此博文只用于记录博主学习过程(有问题可评论)

猜你喜欢

转载自blog.csdn.net/qq_46043634/article/details/104217031