电脑必备小技能02:版本管理Git & SourceTree

版本管理Git

三种应用场景来使用版本管理:
1、个人单设备
2、个人多设备
3、多人团队使用
学习阶梯

02环境与基本概念

git的文件版本管理有两种方式:
1、Git命令行工具;
2、图形化界面;----这里使用Source Tree;
(Source Tree、GitHub、Tortoise Git)—底层都为git;
使用方式

软件安装

一、Git & Source Tree
官网免费安装即可。

基本概念

工作区:可以理解就是自己的文件目录;
仓库:可以理解就是git提供给我们可以存放每一个版本全部文件的地方;
结果
①当我们需要文件以前的某个版本的时候,就可以从仓库拉到工作区;
②当我们将文件修改完成之后,就又可以把现在工作区的版本文件再存到仓库。
基本概念
文件的状态:
文件状态

03场景

场景1:一个人,一台电脑

  • 我自己的电脑在使用,文件的内容也不用和别人合作;
  • 只有这一台电脑,不需要在多个电脑设备同步文件内容;
  • 总结:就是在自己电脑建个仓库,来管理文件,也不用上传到云端,只进行版本管理。

场景2:一个人,多台电脑或设备

  • 有多台电脑,可能在实验室台式机、在宿舍笔记本等情况;
  • 例如白天在实验室的台式机工作,回到宿舍又想用笔记本打开,常见就是用U盘拷来;
  • 而使用Git,就是有一个云平台了;
  • 白天台式机的内容,可以发送同步到云端;晚上自己笔记本,将云端的文件再同步到本地;
  • 总结:就是在Git的云端平台建个仓库,来管理文件,在其他设备都可同步,每个设备工作完就再同步到云端更新。

场景3:多个人,团队合作

03Git常用命令

git clone xxxx

拷贝一份远程仓库,也就是下载一个xxxx项目。

git branch xxxx

创建一个xxxx分支。

git branch -vv

查看本地对应远程的分支对应关系。

git branch -a

查看本地和远程所有分支。

常用 git checkout -b xxx

以当前本地分支作为基础,再切出一个,新建一个xxx分支。

git push origin xxx

也建立一个新的远程xxx分支。

git branch --set-upstream-to=origin/xxx

将当前本地分支与远程的xxx分支关联,这样当前的分支push的时候,就是到远程的xxx分支了。

常用 git status

看看代码有什么变化。

常用 git diff

可以看看变化了什么代码,删减了什么。

常用 git add .

将本地修改好的代码,准备提交。

常用 git commit -m“我的修改的备注”

此时本地的当前分支下已经提交修改好的了,并且有我的修改的备注了(但是此时远程的还是没提交更新的)。
场景:如果提交多个文件,并想对各个文件添加各自的提交消息:
场景

常用 git push

把修改之后的,并且本地已经提交修改了,再push到远程的分支上,这样远程的也就提交修改的了。

=间隔一下===

常用 git pull

拉取最新远程代码。

常用 git merge xxxx

将xxxx分支的内容,合并到我们当前本地,目前的分支上。(记住是本地的)(记住是谁合并到谁,哪个变哪个没变)。

常用 git checkout xxxx

切换到xxxx分支。

git checkout .

这个就能将修改的部分代码清理掉不修改了。
再还没有add之前,并且这时候发现刚刚修改的部分,不想修改了。
(记住在本地代码还没提交之后,就是还没add之前)

=间隔一下===

git branch -d xxx

删除分支(用于删除的,一般都要谨慎使用)。
这是删除的本地分支;但是如果你本地,现在也正在xxx分支,那就没办法用这个来删除你现在所在的xxx分支。
(远程,就是大家共有的;本地就是你自己电脑的)

git push origin --delete xxx

删除远程分支;(这个就是要超级超级超级谨慎了)
这是删除的远程分支。

git reset --mixed

文件退出缓存区,但是修改保留。
退出之后,就又到还没add的状态了,但是修改是有保留的。
(之前的 git checkout .是还没到add的,然后取消修改内容)

git reset HEAD .

撤销所有已经add的文件,这个是已经add的了,在缓存区再撤回。

git reset HEAD filename

撤销某个文件或者文件夹,名为filename。
(假设已经提交了有10个在缓存区,然后就可以选择其中的一个filename给撤回)

git reset --soft HEAD^

撤销commit,返回成暂存区add的状态。

未add之前,要撤回修改内容:git checkout .
已经add但未commit之前,要撤回add但保留修改:git reset–mixed
已经add已经commit,要撤回commit回到add状态:git reset --soft HEAD^

git reset --hard HEAD^

撤销commit,直接新增修改内容都全部撤销,也就是前面三步的合并。

=间隔一下===

git stash save “贮藏的备注”

场景:
目前有个开发在做,突然接到另一个任务,但现在这个代码又写了一半,提交上去又不合适和麻烦,就需要贮藏;
就是先在本地藏起来,等需要用到再打开使用;

git stash list

查看贮藏的列表。

git stash pop

释放贮藏的内容,到当前分支;
直接pop的话,如果有多个,那就是第一个被用到,也就是序号为0的贮藏。

git stash pop stash@{对应的数字}

如果有多个贮藏,可以选择需要拉取哪个贮藏,在对应数字填list出来的贮藏的列表里面看。

git config --list

查看这个项目的git配置。

git remote prune origin xxx

修剪掉已经删除远程分支的本地分支。

git log

查看最近的提交信息。
可以查看最近的提交信息,也有提交的ID,这样想要恢复也是可以用这个ID的。
注意:英文状态下按q ,即可退出git log状态。

git log --graph --online

用图表的形式显示,这样也就比较清晰一点。
在这里可以看到每个版本的ID。

git reset --hard ID

将对应之前版本的ID复制到ID那里,就可以回退到对应版本。
(此时是对本地的操作,远程还是在最新版本的ID的)。

git push -f

(谨慎使用)
前面回退版本之后,要推送到远程仓库可能不行。
这里加了-f就是强制更新,但一般不要用这个。

=间隔一下===

学习来源:B站:Git&Source Tree版本管理
学习来源:B站:合集.git常用命令,覆盖90%场景

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晨7点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值