git 常用命令
git checkout
git pull
git push
git add
git commit
git fetch
git rebase
git merge
git cherry-pick
git reset
git 基础概念
git属于分布式的文件版本管理系统,每一个端都是一个完整的版本库,我们可以直接和其他端交换代码,只不过一般来说会建立一个中心端,我们通过这个端来进行代码的更新和拉取,git是通过记录每一次文件变更来达到版本管理的目的。每一次提交提交的都是文件的变更,而不是所有的文件。有一个HEAD指针会指向最新的版本变更
git工作区,缓存区(stash),版本库
- 工作区就是我们的工作的文件夹,执行了git init以后,会在文件夹中创建.git隐藏文件
- 缓存区在执行了git add 会缓存我们的变更,我们之后再执行git commit,就会在版本库新增一个版本,将文件变更记录提交到版本库
- 版本库保存的就是所有变更记录版本
git 将多个提交合并为一个提交的方法
git log
git reset HEAD~3
git add .
git commit -m "xxx"
git log 可以查看所有提交的版本
如果要将前三个版本的提交记录合并,就可以执行git rest HEAD~3,如果是5个就是git reset HEAD~5
这样我们的HEAD指针就会指向我们提交前的第三个版本
我们的工作区文件与版本库最新版本就会出现前三个版本的提交差异
执行git add,git commit以后,我们就可以将这三个版本的提交合并为一次提交了,
我们重新执行git log,查看就会发现我们原来的三个提交不见了,变为了我们最新的一次
git rebase合并代码
要保持git版本线线性美观简洁,推荐使用git rebase来合并代码
在多人开发同一条代码线的时候,我们用git merge或者git pull(自动merge)的时候,会产生一条merge记录。因为每个人的开发进度不一,在git pull ,git push以后,就会出现多个fenhca