Git基本操作及解释

Git 使用及基础操作

仅个人的学习心得,一点个人的理解,后续在进步的学习中


Git使用教程
	基础知识
		分布式版本控制
		工作区
		暂存区
		本地仓库
		远程仓库
			Github
			gitee
	本地操作核心语句
		git init
			创建本地仓库
				.git文件
			git config --global user.name "Liufeng"
			git config --global user.email "Liufeng@163.com"
		git status
			查看提交文件的状态
		git commit -m 描述信息(主要是用于记录当次提交的标识)
			提交暂存区到本地仓库
		git add . 或者 git add 1.py
			提交文件到暂存区
		git log、git  reflog
			查看日志
		git reset --hard 版本号
			回退版本
		git checkout
			撤销工作区的修改
		git diff
			前后提交版本的对比
		git rm 文件
			删除处理,删除的文件可以根据版本号回复
	标签
		版本控制、相当于小阶段的总结
		git tag -a 标签名 -m 标签描述信息
		git push origin 标签名
		git push --delete 删除标签
	分支
		git branch
			查看当前所在分支
		git checkout -b 分支名
			创建并切换到指定分支
		git push origin -u 分支名
			提交分支到远程仓库
		git merge 分支名
			首先必须在主分支上,再合并分支

分支基本概念

原文链接
什么是分支?
1.Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。 与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。 理解和精通这一特性,你便会意识到 Git 是如此的强大而又独特,并且从此真正改变你的开发方式。
2.Git保存的不是文件的变化或者差异,而是一系列不同时刻的快照 。在进行提交操作时,Git 会保存一个提交对象(commit object)。 该提交对象会包含一个指向暂存内容快照的指针,还包含了作者的姓名和邮箱,提交时输入的信息以及指向它的父对象的指针。 首次提交产生的提交对象没有父对象,普通提交操作产生的提交对象有一个父对象, 而由多个分支合并产生的提交对象有多个父对象。
3.分支在实际开发中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样既安全,又不影响别人工作。
分支类型及优势

Git工作原理Git工作原理

学习核心资料

博客1
博客2
博客3
博客4

upstream概念

原文链接

git push -u origin gaga
	等价:git push origin gaga + git branch --set-upstream-to=origin/gaga master
将本地master连接到远程库的gaga
git branch --set-upstream-to=origin/gaga master

比如远程库A上有3个分支branch1、branch2、branch3。远程库B上有3个分支branchx、branchy、branchz。本地仓库有2个分支local1和local2。那么当初始状态时,local1和local2和任何一个分支都没有关联,也就是没有upstream。当通过git branch --set-upstream-to=A/branch1 local1命令执行后,会给local1和branch1两个分支建立关联,也就是说local1的upstream指向的是branch1。这样的好处就是在local1分支上执行git push(git pull同理)操作时不用附加其它参数,Git就会自动将local1分支上的内容push到branch1上去。同样,local2分支也可以和远程库A和远程库B上的任何一个分支建立关联,只要给local2分支设置了upstream,就可以在local2分支上用git push(git pull同理)方便地与目标分支推拉数据。综上所述,upstream与有几个远程库没有关系,它是分支与分支之间的流通道。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值