常用的 Git 命令和小技巧(1)
发布日期:2021-05-07 23:20:40 浏览次数:9 分类:精选文章

本文共 2177 字,大约阅读时间需要 7 分钟。

首先我们需要知道一些统一概念:

工作区:改动(增删文件和内容)
暂存区:输入命令: git add 改动的文件名 ,此次改动就放到了 暂存区
本地仓库(简称:本地):输入命令: git commit 此次修改的描述 ,此次改动就放到了 本地仓库,每个 commit,我叫它为一个 版本。
远程仓库(简称:远程):输入命令: git push 远程仓库 ,此次改动就放到了 远程仓库(GitHub 等)
commit-id:输出命令: git log ,最上面那行 commit xxxxxx ,后面的字符串就是commit-id
开始:

1. 展示帮助信息

git help -g

2. 回到远程仓库的状态

抛弃本地所有的修改,回到远程仓库的状态
git fetch --all && git reset --hard origin/master

3. 重设第一个 commit

也就是把所有的改动都重新放回工作区,并清空所有的 commit,这样就可以重新提交第一个 commit了
git update-ref -d HEAD

4. 查看冲突文件列表

展示工作区的冲突文件列表

git diff --name-only --diff-filter=U

5. 展示工作区和暂存区的不同

输出工作区和暂存区的 different (不同)

git diff

还可以展示本地仓库中任意两个 commit 之间的文件变动:

git diff 

6. 展示暂存区和最近版本的不同

输出暂存区和本地最近的版本 (commit) 的 different (不同)。

git diff --cached

7. 展示暂存区、工作区和最近版本的不同

输出工作区、暂存区 和本地最近的版本 (commit) 的 different (不同)。

git diff HEAD

8. 快速切换到上一个分支

git checkout -

9. 删除已经合并到 master 的分支

git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d

10. 展示本地分支关联远程仓库的情况

git branch -vv

11. 关联远程分支

关联之后, git branch -vv 就可以展示关联的远程分支名了,同时推送到远程仓库直接: git push ,不需要指定远程仓库了

git branch -u origin/mybranch

或者在 push 时加上 -u 参数

git push origin/mybranch -u

12. 列出所有远程分支

-r 参数相当于:remote

git branch -r

13. 列出本地和远程分支

-a 参数相当于:all

git branch -a

14. 查看远程分支和本地分支的对应关系

git remote show origin

15. 远程删除了分支本地也想删除

git remote prune origin

16. 创建并切换到本地分支

git checkout -b 

17. 从远程分支中创建并切换到本地分支

git checkout -b 
origin/

18. 删除本地分支

git branch -d 

19. 删除远程分支

git push origin --delete 

或者

git push origin :

20. 重命名本地分支

git branch -m 

21. 查看标签

git tag

22. 展示当前分支的最近的 tag

git describe --tags --abbrev=0

23. 查看标签详细信息

git tag -ln

24. 本地创建标签

git tag 

默认 tag 是打在最近的一次 commit 上,如果需要指定 commit 打 tag:

$ git tag -a 
-m "v1.0 发布(描述)"

25. 推送标签到远程仓库

首先要保证本地创建好了标签才可以推送标签到远程仓库:

git push origin 

一次性推送所有标签,同步到远程仓库:

git push origin --tags

26. 删除本地标签

git tag -d 

27. 删除远程标签

git push origin --delete tag 

28. 切回到某个标签

一般上线之前都会打 tag,就是为了防止上线后出现问题,方便快速回退到上一版本。下面的命令是回到某一标签下的状态:

git checkout -b branch_name tag_name

29. 放弃工作区的修改

git checkout 

放弃所有修改:

git checkout .

30. 恢复删除的文件

git rev-list -n 1 HEAD -- 
#得到 deleting_commit
git checkout 
^ --
#回到删除文件deleting_commit 之前的状态

未完。。。待续。。

上一篇:vue中接收后台的图片验证码并显示
下一篇:uni-app请求头中携带token

发表评论

最新留言

不错!
[***.144.177.141]2025年03月19日 01时00分09秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章