Git基础命令
git init
新建一个Git代码库
在当前目录新建一个Git代码库
git init
新建一个目录,将其初始化为Git代码库
git init [project-name]
下载一个项目和它的整个代码历史
git clone [url]
Git Commit
提交代码,并产生一个新的提交版本。
进行提交时,系统会将当前版本与仓库中的上一个版本进行对比,把所有差异部分进行提交,并不是将目录所有文件全部提交到仓库。
Git Checkout
Git Branch [branch-name]/[版本号]
切换到[branch-name]/版本分支
Git Branch
Git Branch [branch-name]
创建一个名为[branch-name]的分支。但不会自动切换分支
分支就是从主线上分离出来进行另外的操作,而又不影响主线,主线可以继续进行原来的流程,二者互不干扰。
git checkout -b [branch-name]
创建一个新的分支的同时切换到所创建的分支:
Git Merge
Git Merge [branch-name] [branch-name]
将两个不同的分支合并到一起,会产生一个新的的提交记录,它有两个父节点,并包含了两个父节点的所有文件。
Git Rebase
Git Rebase [branch-name]
这是另一种合并分支的方法,将当前提交点以及后续的一系列的提交记录进行拷贝,逐个粘贴到目标位置。
git reset / git revert git reset
撤销计较记录,通过把分支记录回退几个提交记录来实现撤销改动,仅对本地分支有效。
git revert可以对远程分支进行撤销操作。
补充
HEAD
HEAD 相当于一个标记,代表你正在进行工作的提交记录。
HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。
相对引用
通过指定提交记录哈希值的方式在 Git 中移动不太方便。而采用相对引用,就可以从一个易于记忆的地方开始计算。
使用 ^ 向上移动 1 个提交记录
使用 ~[num] 向上移动多个提交记录