Git命令学习
一、暂存与提交
1.暂存更改
git add .
2.提交更改
git commit -m "提交信息"
二、分支创建、切换与合并
1.创建分支
本地分支
git branch BranchName
远程分支
git push -u origin BranchName
2.切换分支
git checkout BranchName
3.合并分支(方法1)
把目标分支与自身合并,形成一个包含二者更改的新的分支并 添加到树中
git merge targetBranchName
4.合并分支(方法2)
将自身线性合并到目标分支,并成为目标分支新的节点
git rebase targetBranchName
三、移动HEAD
1.通过checkout直接指向某个节点(而非分支)
git checkout NodeName(节点Hash)
注:关于节点哈希,可以只输入前几个可以唯一确定这个哈希值的字符即可
2.通过相对位置移动HEAD
^符号代表上一个parent节点。即main^就是main的上一个节点,main^^就是上两个节点。~<num>向上移动多个提交记录
git checkout c3^ #注:这里的c3指hash值
git checkout HEAD^
git checkout HEAD~4
3.强制修改分支位置
可以直接使用-f选项让分支指向另一个提交
git branch -f 分支名 相对位置
git branch -f main HEAD~3
这条命令会将 main 分支强制指向 HEAD 的第 3 级 parent 提交。
注意:在真实的 Git 环境中,你当前所在的分支上不允许执行
git branch -f。
四、撤销
1.本地撤销到任意步
该命令会撤回到指定步骤,撤回后之前的节点并不是删除了,而是撤回到文件未进入暂存区的状态
git reset NodeName/BrenchName
2.远程撤销到任意步
该命令撤回远程的原理是,在本节点下,产生一个与目标节点一致的新节点,进入新节点,这样就实现了撤回的效果。
git revert NodeName/BrenchName
五、删除分支
1.删除本地分支
git branch -d 分支名
-d:安全删除,如果分支还没合并,会提示不能删除。
2.强制删除本地分支
git branch -D 分支名
-D:强制删除,不管是否合并。
3. 删除远程分支
git push origin --delete 分支名
4. 查看所有分支
本地分支:
git branch
远程分支:
git branch -r
全部分支:
git branch -a
注意事项
- 不能删除当前所在分支,先切换:
git checkout main
或者:
git switch main
然后再删除其他分支。
六、从远程拉取新分支
git fetch origin

浙公网安备 33010602011771号