菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
0
0

git基本使用(超详细)[通俗易懂]

原创
05/13 14:22
阅读数 2059

一:Git是什么?

Git是目前世界上最先进的分布式版本控制系统。

二:SVN与Git的最主要的区别?

1.SVN是集中式版本控制系统,版本库是集中放在中央服务器的。
2.Git是分布式版本控制系统,那么它就没有中央服务器的。

三:git安装

安装下载地址链接: https://git-scm.com/download(下载好了之后就傻瓜式操作点下一步就好了)
安装成功桌面右键,会出现如下图:
图片.png

其中GUI为用户界面模式,Bash为命令行模式,这里就以Bash为例子介绍git的基本使用方法(其实相比于GUI,个人觉得Bash更容易学习理解)。

四:理解工作区与暂存区的区别

工作区: 就是你在电脑上看到的目录,比如目录下test1.txt里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。

版本库(Repository): 工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

我们前面说过使用Git提交文件到版本库有两步:
第一步: 是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
第二步: 使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

五:git基本操作

1、当然是创建版本库:

什么是版本库?
版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。(此时创建的版本库是 testTwo)
图片.png

mkdir新建一个目录,cd打开此目录,pwd查看此目录路径

2、通过命令 git init 把这个目录变成git可以管理的仓库

图片.png

这时会在testTwo目录中生成一个.git(没出现可能是隐藏了)文件夹

3、git add添加 与 git commit提交(关键的两步)

举个小例子:
在版本库testTwo目录下新建一个test1.txt 文档 内容如下:11111
第一步: 使用命令 git add test1.txt添加到暂存区里面去。(git add . 提交全部)
第二步: 用命令 git commit -m 文件提交到仓库。(注意 -m 后面是提交时添加的注释)
第三步: 用命令 git status来查看是否还有文件未提交。
第四步: 用命令 git pull 更新 (命令用于从远程获取代码并合并本地的版本)。
第五步: 用命令 git push 推送到远程仓库。
图片.png

4、git diff的使用

在test1.txt中添加内容22222,没有进行git add add/or git commit 操作,也就是说修改后的test1.txt 还在工作区。这时执行git status 它会提示 modified:test1.txt,意思是说,有一个修改的文件未提交。可以用 cat test1.txt 查看文件内容 。(重点) 在未提交的情况下 git diff 可以查看修改了什么内容
图片.png

如果执行了git add,则如下图
图片.png

5、版本回退

查看历史记录

git log, git log – –pretty=oneline信息简化

图片.png

版本回退:
第一种:

git reset –hard HEAD^ 

如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推,如果回退到更久的版本则命令操作:git reset –hard HEAD~100
如下图展示:
图片.png

第二种:
通过版本号回退

git reset –hard 版本号

获取版本号:

git reflog

如下图所示:
图片.png

6、Git撤销修改和删除文件操作

撤销:

git checkout – file 

可以撤销某个文件在工作区的修改
图片.png

删除:

rm 文件

看下图:
图片.png

六 :远程仓库

1、把本地仓库的内容推送到GitHub仓库:

先在GitHub上新建一个项目
图片.png

在本地的testTwo仓库下运行命令:

 git remote add origin https://github.com/shuaijieMrsZhang/testTwo.git (这里要写自己的地址)

然后把本地库的内容推送到远程,使用 git push origin master命令,实际上是把当前分支master推送到远程 。

注意: 第一次推送git push -u origin master,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令:git push origin master。
图片.png

从现在起,只要本地作了提交,就可以通过如下命令:

git push origin master

把本地master分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了。

2、如何从远程仓库克隆?

克隆执行命令:git clone https://github.com/shuaijieMrsZhang/testTwo.git

如果在git clone 项目时报错OpenSSL SSL_read: Connection was reset, errno 10054 ,
解决方法是:

git config –global http.sslVerify “false”

七:创建与合并分支

在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。

首先,我们来创建dev分支,然后切换到dev分支上。如下操作:
git checkout 命令加上 –b 参数表示创建并切换,相当于如下:

 git branch dev + git checkout dev = git checkout –b dev

查看分支:

git branch

图片.png

合并分支:

git merge

图片.png

总结创建与合并分支命令如下:

● 查看分支:git branch
● 创建分支:git branch name
● 切换分支:git checkout name
● 创建+切换分支:git checkout –b name
● 合并某分支到当前分支:git merge name
● 删除分支:git branch –d name
● 分支策略: 首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

Git基本常用命令如下:

● mkdir: XX (创建一个空目录 XX指目录名)
● pwd: 显示当前目录的路径。
● git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
● git add XX 把xx文件添加到暂存区去。
● git commit –m “XX” 提交文件 –m 后面的是注释。
● git pull 命令用于从远程获取代码并合并本地的版本。
● git status 查看仓库状态
● git diff XX 查看XX文件修改了那些内容
● git log 查看历史记录
● git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本(如果想回退到100个版本,使用git reset –hard HEAD~100 )
● cat XX 查看XX文件内容
● git reflog 查看历史记录的版本号id
● git checkout – XX 把XX文件在工作区的修改全部撤销。
● git rm XX 删除XX文件
● git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
● git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
● git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
● git checkout –b dev 创建dev分支 并切换到dev分支上
● git branch 查看当前所有的分支
● git checkout master 切换回master分支
● git merge dev 在当前的分支上合并dev分支
● git branch –d dev 删除dev分支
● git branch name 创建分支
● git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
● git stash list 查看所有被隐藏的文件列表
● git stash apply 恢复被隐藏的文件,但是内容不删除
● git stash drop 删除文件
● git stash pop 恢复文件的同时 也删除文件
● git remote 查看远程库的信息
● git remote –v 查看远程库的详细信息
● git push origin master Git会把master分支推送到远程库对应的远程分支上

发表评论

0/200
0 点赞
0 评论
收藏