常用的 Git 命令和小技巧(1)

首先我们需要知道一些统一概念:
工作区:改动(增删文件和内容)
暂存区:输入命令: 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 <commit-id> <commit-id>

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 <branch-name>

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

 git checkout -b <branch-name> origin/<branch-name>

18. 删除本地分支

git branch -d <local-branchname>

19. 删除远程分支

git push origin --delete <remote-branchname>

或者

git push origin :<remote-branchname>

20. 重命名本地分支

git branch -m <new-branch-name>

21. 查看标签

git tag

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

git describe --tags --abbrev=0

23. 查看标签详细信息

git tag -ln

24. 本地创建标签

git tag <version-number>

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

$ git tag -a <version-number> -m "v1.0 发布(描述)" <commit-id>

25. 推送标签到远程仓库

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

git push origin <local-version-number>

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

git push origin --tags

26. 删除本地标签

git tag -d <tag-name>

27. 删除远程标签

git push origin --delete tag <tagname>

28. 切回到某个标签

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

git checkout -b branch_name tag_name

29. 放弃工作区的修改

git checkout <file-name>

放弃所有修改:

git checkout .

30. 恢复删除的文件

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

未完。。。待续。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田不甜 tbt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值