1.基本概念:
Git中的区域:
git中有几个区域;本地工作区;本地提交区;origin远端。
一般来说的工作上传顺序是:
将修改文件添加到工作区域----提交到本地提交区域----push到远端分支
Git中的分支
远端和本地都有分支,不同的分支会保存不同的提交信息,merge信息。
如果把Git的历史比作一条直线,那么每次更改都是一个节点。而添加分支本身也是一个节点,该节点会创建一个新的指针,之后如果在该分支上提交新的修改,则它们并不会直接合并到主分支上而是保存在新分支上。
当需要将该分支上的内容合并到主分支上时,新分支上的修改就会全部merge到master上。假设主分支和被合并的分支都对同一个文件做出了修改,那么git就会告诉你冲突,需要解决冲突后才能合并。
HEAD:
HEAD是一个指向分支的指针,比如刚刚创建git的时候,HEAD指向默认的master(masrer本身也是一个指针)主分支。
当你创建一个新分支后,会创建一个新指针。比如创建一个dev分支,就是创建一个dev指针,而切换到该分支本质上就是让HEAD指向dev。并且该分支会继承master分支当前所有信息。
详细分支管理可以借鉴这篇文章:
https://blog.csdn.net/silence_pinot/article/details/111478596
2.基本命令:
基本流程命令:
git add #添加修改文件到工作区域
git commit -m "feat: add a new file" #提交修改到本地
git commit --amend #重新提交上次提交并修改提交日志
git commit --amend --no-edit #重新提交上次提交单不修改提交日志
git push origin #push到远端分支
git push origin HEAD:refs/for/master #push到远端的HEAD后的某个分支
git pull #拉取代码
git status #当前工作区域修改情况
git show #展示当前提交的信息
git show -s #简约的展示
git diff #比较上次提交后的仓库和当前工作区的区别
分支相关命令:
git branch #展示本地所有的分支
git checkout -b <branch> #创建分支
git checkout <branch> #切换到某个分支
git stash #保存当前工作内容
git stash list #显示缓存的工作内容
git stash pop #应用缓存的工作内容
这里重点做一下git stash的笔记:
该命令一般用于当你需要切换分支,但是当前分支的工作内容不能提交而需要保存时使用。该命令会把当前分支下的工作内容缓存下来。而缓存的地方不在我们之前提过的三个区域之内。