分布式版本控制系统Git基础

关于windows下git安装这里就不详细讲了,网上有很多教程
工作原理:
在这里插入图片描述
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

工作原理:
在这里插入图片描述
一般工作流程如下:

克隆 Git 资源作为工作目录。
在克隆的资源上添加或修改文件。
如果其他人修改了,你可以更新资源。
在提交前查看修改。
提交修改。
在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

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

在目标路径下使用git init命令把这个目录变成git可以管理的仓库,这时候目录下会多了一个.git的目录,这个目录就是Git来跟踪管理版本的。

一. 如何把文件添加到版本库

第一步:使用 git add +文件名(全缀)命令添加到暂存区里面去
第二步:用命令 git commit告诉Git,把文件提交到仓库。

可以通过命令git status来查看状态,检查是否还有文件未提交
git diff +文件名(全缀)命令查看文件被修改了什么内容

二.版本回退:

在对文件进行了修改后,使用git log 命令来查看修改历史记录,git log命令可以显示从最近到最远的显示日志,分别显示:

每次提交版本号
最近一次文件内容操作
上一次文件内容操作

如果嫌上面显示的信息太多的话,也可以使用命令 git log –pretty=oneline 一次显示

现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,要使用什么命令呢?可以使用如下2种命令,第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可。
另外可以使用git reflog获取各个版本号,再使用git reset --hard 版本号回退

三.理解工作区与暂存区:

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

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

  • 第一步:是先使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
  • 第二步:然后使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
四:Git撤销修改和删除文件操作。
一:撤销修改

在未提交前,发现操作之后的内容有误,需要恢复以前的版本:
1.如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。
2.可以按以前的方法直接恢复到上一个版本。使用 git reset --hard HEAD^
3.首先在做撤销之前,我们可以先用 git status 查看下当前的状态。可以发现,Git会告诉你,git checkout -- file 可以丢弃工作区的修改.
可以使用命令git checkout -- +文件名(全缀)

命令git checkout -- +文件名(全缀)意思就是,把文件在工作区做的修改全部撤销,这里有2种情况,如下:

1.文件自动修改后,还没有放到暂存区,使用撤销修改就回到和版本库一模一样的状态。
2.另外一种是文件已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。

命令git checkout -- +文件名(全缀)中的 – 很重要,如果没有 – 的话,那么命令变成创建分支了。)

二:删除文件

使用rm+文件名(全缀)命令

创建与合并分支:
在 版本回填退里,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
命令git checkout –b(branchname)表示创建并切换,相当于如下2条命令

git branch (branchname)

git checkout (branchname)

git branch查看分支,会列出所有的分支
可以在master分支上,使用如下命令 git merge (branchname)把分支上的内容合并到master上,合并后使用命令git branch删除分支

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

   查看分支:git branch

   创建分支:git branch name

   切换分支:git checkout name

创建+切换分支:git checkout –b name

合并某分支到当前分支:git merge name

删除分支:git branch –d name

解决合并冲突:

多人协作:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值