git基本命令总结


 前言

简单学习了一下git的命令,虽然现在操作git都是使用Source Tree之类的第三方软件居多,但熟悉git命令也是有必要的,所以在此记录一下

一、git学习和练习方法

1、推荐git练习网址:https://learngitbranching.js.org/?locale=zh_CN

2、推荐git学习网站:https://www.liaoxuefeng.com/wiki/896043488029600

二、git基础操作

1、创建新分支

git branch <new-branch-name> 

2、切换新分支

git checkout <new-branch-name> 

3、创建并切换新分支

git checkout -b <new-branch-name> 

4、提交分支

git commit 

5、合并分支到当前分支

git merge  

6、将该分支线性放置在当前分支

git rebase  

7、想看 HEAD 指向,可以通过 cat .git/HEAD 查看, 如果 HEAD 指向的是一个引用,还可以用 git symbolic-ref HEAD 查看它的指向
8、相对引用
1)使用 ^ 向上移动 1 个提交记录
2)使用 ~ 向上移动多个提交记录,如 ~3
9、让分支指向另一个提交,eg:

git branch -f main HEAD~3 

10、 撤销变更

git reset //撤销本地更改
git revert //撤销服务器更改(实际回退重新提交,原纪录不删除)

11、将C2,C4整理到当前分支

git cherry-pick C2 C4 

12、 重新整理Head以上四条记录

git rebase -I HEAD~4

13、建立指向C1的V1标签

git tag v1 C1 

14、git describe
 可以是任何能被 Git 识别成提交记录的引用,如果你没有指定的话,Git 会以你目前所检出的位置(HEAD)。
它输出的结果是:__g
tag 表示的是离 ref 最近的标签, numCommits 是表示这个 ref 与 tag 相差有多少个提交记录, hash 表示的是你所给定的 ref 所表示的提交记录哈希值的前几位。
当 ref 提交记录上有某个标签时,则只输出标签名称

三、git远程操作

1、克隆代码到本地

git clone 

2、抓取最新代码

git fetch 

3、git pull 就是 git fetch 和 git merge 的缩写

4、在远程仓库的 main 分支上做一次提交

git fakeTeamwork

5、还可以指定提交的分支或是数量

git fakeTeamwork  3 

6、上传代码

git push

7、git 将解析为一个位置,上传所有未被包含到远程仓库里 分支中的提交记录。

git push origin :

8、git 会到远程仓库的source位置上,然后获取所有本地不存在的destination提交,放到本地上

git fetch origin :

9、删除远程仓库中的分支

git push origin :

10、如果 fetch 空 到本地,会在本地创建一个新分支

git fetch origin :

11、Git pull origin main :通过指定 main 我们更新了 o/main。然后将 o/main merge 到我们的检出位置,无论我们当前检出的位置是哪。
12、Git pull origin main:foo :新建分支foo,通过指定 main 我们更新了 o/main。然后将 o/main merge 到我们的检出位置,无论我们当前检出的位置是哪