创建本地仓库:
- 打开git bash
- 初始化一个文件夹为一个本地git仓库:
git init
提交文件到本地仓库:
- 添加文件:
-
按文件名:
git add <filename>
-
提交全部:
git add --a`或`git add .
-
提交:
git commit -m "<describe>"
添加远程仓库
git remote add origin 仓库地址
删除远程仓库
git remote rm <仓库名称>
查看远程仓库:
git remote -v
新建分支与切换分支:
-
新建分支:
git branch <branch name>
-
切换分支:
git checkout <branch name>
-
创建并切换分支=1+2 :
git checkout -b <branch name>
合并分支:
-
merge方式:
git merge <branch name>
-
rebase方式:提交记录更线性
git merge <branch name>
在提交树上移动:
-
通过提交记录的哈希码值
HEAD
:指向提交或分支,一般指向分支,如:
HEAD -> master -> C1
,其中C1
表示提交的哈希码- 分离的
HEAD
:让HEAD
指向提交而不是分支
操作:git checkout <提交的哈希码>
-
通过相对引用
^
操作符:git checkout <branch name/HEAD>^
一个^
表示往指定节点的祖先节点走一个~
操作符:git checkout <branch name/HEAD>~n
表示往指定节点的祖先节点走n个
-
强行修改分支位置:
强行让分支指向某个提交:git branch -f <branch name> <branch name/HEAD/提交的哈希值>~n
撤销变更:
reset
方式:git reset HEAD~1
效果:HEAD
直接指向HEAD~1
,对远程共享无效revert
方式:git revert HEAD
效果:生成一个新的提交,HEAD
指向该提交,新提交与HEAD~n
状态相同,远程共享用该方式