本地操作命令
练习Git的地址:https://learngitbranching.js.org/?NODEMO=&locale=zh_CN
git commit : 提交记录
git branch <新分支的名字> : 建造分支
git checkout <分支名>:切换到分支名对应的分支
git checkout -b <新分支的名字> 创建一个新分支并切换到新创建的分支上
git merge <分支1> 将分支1合并到当前分支上
git rebase 分支1 将当前分支复制,将复制的内容放到分支1的下边(rebase 实际上就是取出一系列的提交记录,“复制”它们,然后再分支1逐一的放下去。Rebase 的优势就是可以创造更线性的提交历史,这听上去有些难以理解。如果只允许使用 Rebase 的话,代码库的提交历史将会变得异常清晰。)
HEAD:HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。HEAD 通常情况下是指向分支名的(如 bugFix)。在你提交时,改变了 bugFix 的状态,这一变化通过 HEAD 变得可见。
分离的HEAD:分离的 HEAD 就是让其指向了某个具体的提交记录而不是分支名。
git checkout 提交记录的哈希码 当前HEAD指向对应哈希码记录的位置
git log 查看记录的哈希码
git checkout <分支/记录>^ 指向分支/记录的父记录节点
git reset HEAD<^/~数字> 向上移动分支,在你的本地分支中使用 git reset 很方便,但是这种“改写历史”的方法对大家一起使用的远程分支是无效的哦
git revert HEAD 撤销更改并分享给别人
git cherry-pick <提交号/分支>… 将提单号、分支…复制到当前所在的位置(HEAD)下面
git rebase -i / --interactive <目标分支/提交号> 交互式rebase, 该命令会打开一个UI界面并列出将要被复制到目标分支的备用提交记录,它还会显示每个提交记录的哈希值和提交说明。要被复制的omit,如果不要被复制的改为pick
git commit --amend
远程操作命令
git clone <远程仓库地址> 在本地创建一个远程仓库的拷贝
git fetch 将本地仓库中的远程分支更新成了远程仓库相应分支最新的状态,git fetch 并不会改变你本地仓库的状态。它不会更新你的 main 分支,也不会修改你磁盘上的文件
git pull <远程仓库分支名> 将远程仓库分支俩拉去并合并到本地当前分支中(相当于fetch 和 merge的简写)
git pull --rebase <远程仓库分支名> / git fetch , git rebase <本地的远程分支> 先更新本地仓库的远程分支,然后再将我们的工作移动到最新的提交记录下面
git push <远程仓库名称> <要提交的分支> 将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录