小记—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
切换分支git checkout
创建加切换分支git checkout -b
合并分支到当前分支git merge
删除分支git branch -d

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

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

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

你可能感兴趣的:(小记—Git学习)