小记—Git学习

简单整理些应注意的点,理清思路,多动手。

Git是一种分布式版本控制系统,其特点就在于分布式,每个人都在自己的版本库中修改,修改时互不影响,修改后将自己修改后的代码推送到远程库,查看和合并修改内容。
其主要应理解的内容有:版本回退分支管理,理解了Git这些操作的原理,就能更好的去使用Git。

1、版本回退

Git记录管理的是每一次的修改,先说工作区和暂存区的概念,工作区即我们能看到的目录,我们可以修改其中的文件。在版本库中,我们每一次git add文件,就是将文件修改添加到暂存区,可以添加多个修改,之后git commit,将暂存区的文件提交到当前分支,而每次提交后,HEAD指针会指向当前最新的修改。

如何回退到上之前提交的某次版本呢,git reset --hard commit id(git log查看提交历史,确定要回退的版本commit id),若要回到此后的版本,再使用git reflog
查看命令历史,确定回到之后的哪个版本。

而撤销修改(未推送到远程仓库),使用git checkout撤销在工作区的修改,如果已经添加到版本库中(未提交),先回到上一次修改前的版本,再git checkout撤销修改,第三种,提交到版本库的,使用版本回退。

2、分支管理

采用分支是使用远程仓库与别人协作时所必需的,分支管理使得各自之间在合并前互不影响,当团队多人协作时,需要有一条主分支(master),主分支应是最稳定的,是合并最终的版本,还需有一条用来工作的分支(dev),每个人在自己的分支上工作,再将修改合并到dev分支,dev是不稳定的,当修改无误后,再将dev分支合并到master分支。

主要命令
创建分支git branch <name>
切换分支git checkout <name>
创建加切换分支git checkout -b <name>
合并分支到当前分支git merge <name>
删除分支git branch -d <name>

合并分支有两种模式,一种是快进模式,直接将HEAD指向最新的提交dev,这种方式看不出来有合并过。一种是普通合并模式,将当前master与dev合并后生成新的版本,即可以在历史分支上看出历史信息。

还有一点,当正在dev分支进行新的工作时,发现别的分支有bug需要修复,使用git stash保存工作现场,再开始修复bug。完成之后用git stash pop恢复之前的工作,并将stash内容删除。
要丢弃一个未合并的分支git branch -D <name>,若合并就用版本回退。

使用远程仓库与多人协作时,先克隆远程仓库到本地,将自己的修改推送到远程分支git push origin branch-name,当远程分支有了更新时会导致此时推送失败,使用git pull将最新提交抓取下来,在本地合并,解决冲突,在本地提交再推送到远程分支。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 14,654评论 9 163
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 11,058评论 1 17
  • 清风微笑, 阳光和煦, 最适合做梦。 这梦好温柔, 没有迟虑和怀疑, 尽情地叹出情和绪。 酒精真是神奇, 醉里究竟...
    青年Lee阅读 1,826评论 0 1
  • 11月的接龙客栈活动,而我却拖到12月月末才来拜读各位大侠当时的大作,实在是有些过意不去。 最近因为机缘巧合参与了...
    李暖安阅读 3,892评论 19 7
  • 除了健康买不到,剩下的就是时间了,所以愿意把时间花在日常的生活细节上,才是真正的富有。 什么是生活的细节,是冬季晒...
    草莓布丁猫阅读 1,501评论 0 0