Git管理版本

https://www.liaoxuefeng.com/wiki/896043488029600
看了教程总结,有错误请指出

1、版本控制系统

集中式版本控制系统
*PC端在中央服务器存取版本,速度慢
在这里插入图片描述
分布式版本控制系统
PC端可以在本地存储版本
在这里插入图片描述
CVS和SVN使用的是集中式版本控制
Git使用的是分布式版本控制

2、创建版本库

在这里插入图片描述

git init	//初始化
git add "文件名"	//把本地文件添加到暂存区
git commit -m "版本信息"  //告诉暂存区一些标记信息

3、版本回退

每一次的commit都会有一个版本号,就像打一个印章,可以指定回退

git log	//查看历史提交的日志 添加--pretty=oneline 参数可以简化
git reset --hard HEAD^n 	//返回上第n个版本
git reset --hard 版本号		//指定返回版本号
cat "文件名"		//显示文件内容
git relog	//记录每一次提交回退记录
git status //查看状态,本地仓库与暂存区的区别
git diff "文件名"	//查看本地仓库与暂存区该文件的区别,可加参数查看其他的区的区别

4、管理修改

HEAD指针指向当前的分支

git diff HEAD -- readme.txt	//查看工作区和版本库里面最新版本的区别

5、撤销修改

场景一:放弃仓库文件的修改

git checkout -- <file>		//让本地仓库文件回到最近一次git commit或git add时的状态。

场景二:放弃暂存区文件的修改

git reset HEAD <file>	//把暂存区的修改撤销掉(unstage),重新放回工作区	

场景三:放弃提交的文件–版本回退

6、删除文件

git rm	<file>	//本地删除文件

7、连接远程仓库

场景一:本地已有仓库,远程创建好仓库,怎么将远程的仓库与本地仓库连接起来?
在gitub创建仓库的时候有提示
在这里插入图片描述
场景二:远程有仓库,本地没有创建,怎么将远程连接到本地?

git clone url

8、分支管理

HEAD指向当前分支
可以创建不同的分支,让HEAD指向不同的分支

创建与合并冲突

git branch dev	//创建分支
git checkout dev 	//切换分支
git checkout -b dev	//建立并切换分支
git branch //查看当前所有分支
git merge dev //合并分支,需要切换到另一个分支才能合并以开发完的dev分支
git switch -c dev 	//切换到dev分支,-c 表示创建分支
git branch -d dev //删除分支

解决冲突

在这里插入图片描述

git log --graph		//查看分支合并图

Bug分支

场景:有main和dev分支,你在dev分支上干活,现在需要你解决一个bug
解决:保存dev现场 -> 跳到main分支,创建 issue-101 分支,在这个分支上做修改 -> 修改完毕合并main和issue-101分支 -> 回到dev分支,把保存的内容恢复,把在main分支提交的修改复制到dev分支
在这里插入图片描述

git bash 	//保存现场
git stash list 	//保存现场列表
git stash apply 	//回到dev,恢复现场
git stash drop	//删除现场
git stash pop	//上面两条的整合
git merge --no-ff -m "merged bug fix 101" issue-101	//合并issue-101保存历史分支
git cherry-pick 4c805e2		//在dev分支复制4c805e提交的修改

Feature分支

在开发过程中,在dev分支上开发出新的功能,最好创建新的分支去开发,做完之后再dev上合并

git branch -D feature1	//大写D强制删除某分支

多人协作

git remote -v //查看远程的信息
git push origin main	//推送分支 origin远程分支名 main本地分支名

场景1:远程只有main的主分支,本地有main分支,又创建dev分支,想要推送给远程本地的dev分支,这时候需要给远程创建一个dev的分支

git push --set-upstream origin dev	//现在是切换到dev分支,执行这条命令,为远程创建
git branch --set-upstream branch-name origin/branch-name //	本地与远程分支连接
git checkout -b dev origin/dev	//另一位小伙伴创建远程的dev分支到本地

场景2:你和你的小伙伴共同在拉取远程的dev,都在dev上工作,小伙伴提交了一份时候你也想提交,会提示有冲突。
需要pull最新的dev到你的本地,在本地解决冲突之后再提交

9、标签管理

就像是取别名hhh

git tag v1.0	//默认标签是打在最新提交的commit上
git tag id		//指定id打标签
git tag -a v0.1 -m "version 0.1 released" 1094adb	//-a标签名 -m解释
git tag	//查看所有标签
git tag -d v0.1		//删除标签
——————————————————————————————————————————————————————————————以上都是在本地打标签
git push origin v1.0	//推送指定标签
git push origin --tags	//推送所有标签
//删除远程标签
git tag -d v0.9	//先删除本地标签
git push origin :refs/tags/v0.9	//在删除远程标签

10、其他

.gitignore配置忽略提交文件
每个仓库的Git配置文件都放在.git/config文件

我喵,终于完了,哈哈哈哈,回宿舍~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值