git常用命令

1. 强制拉新
git fetch --all
git reset --hard origin/master
git pull

2. 拉新某一分支
git fetch origin feature/ENG-930-reflect
git checkout feature/ENG-930-reflect

3. List item
修改commit
git rebase -i HEAD~2
输入i
pick修改为edit, 修改commit信息
输入esc
输入:wq
git commit --amend -m “Fix ENG-3804:sequence”
git rebase --continue
git push -f

4. 强制merge A分支合并B分支, 并强制使用B分支代码
git checkout feature/ENG-930-reflect
git merge --strategy-option=theirs master

5. 强制合并分支
git checkout feature/ENG-930-reflect
git reset --hard origin/master
git push origin feature/ENG-930-reflect --force

6. 删除本地分支
git branch -D 分支名

7. 强制上传到远程分支
git push origin feature/ENG-930-reflect --force

8. 本地回退到上一个版本
git reset --soft HEAD~1

9. git远程上revert
git revert HEAD
git commit --amend -m “Fix ENG-2424:brush”
git push origin

10. git本地revert一个版本
git reset --soft commitID //代码回退到工作区, commitID为当前版本的前一版本

11. git下载代码并更改文件夹名字
git clone repo_name folder_name
eg: git clone -b master https://gitlab.XXX.git proven_ground

12. 问题:TLS certificate verification has been disabled!
解决:git config --global http.sslVerify true

13. 问题:x509
解决:git config --global http.sslVerify false

14. 问题:error: index uses extension, which we do not understand
fatal: index file corrupt
解决: 进入工程目录
rm -f .git/index
git reset

15. 问题:Git rebase --continue complains even when all merge conflicts have been resolved
解决:进入根目录, 执行git add .

16. 查看当前仓库url
git remote -v

17. 修改当前仓库url
git remote set-url origin https://gitlab.booming-inc.com/booming/dev/engine/cb-engine-verify.git

18. 从工作区和索引区删除文件
git rm 1.txt(文件名)

19. 从索引区删除文件, 文件本地还存在, 只是不希望这个文件被版本控制
git rm --cached 1.txt(文件名)

20. 查看当前版本
git branch -v

21. git多个commit合为一条
1.git从master新拉取一个分支A
2.git fetch origin A
3.git checkout A
4.git merge --squash 原分支B

22. git放弃所有本地修改
1)本地还没有提交到暂存区, 想放弃工作区的修改
git checkout .

2)本地已经提交到暂存区, 想放弃暂存区里的提交
git reset --hard HASH #返回到某个节点(通常是上上个节点), 不保留修改
git reset --soft HASH #返回到某个节点(通常是上上个节点), 保留修改

23. 添加到暂存区
git add . 是当前路径下的所有更改
git add --all 不管你在本地工作区的哪个路径下,执行这个都是把本地工作区的所有修改都提交

24. git mergetool

如果用的是gitlab, 可以直接在页面上操作, Repository->commits->Cherry-pick
将一个分支上的某个commit合并到另一个分支,可用使用cherry-pick命令实现。
比如将dev分支上commit_id为f99f2b57b7ee72d55a08e699fbeec34cbac96cb8的提交合并到master分支:
1)切换到master分支:git checkout master
2)执行cherry-pick命令:git cherry-pick f99f2b57b7ee72d55a08e699fbeec34cbac96cb8
3)推送到远程master仓库:git push
注意master上新的commit id与dev上的id并不相同,即只是将dev上的修改拷贝过来作为一个新的提交,这就会带来一个问题:cherry-pick之后,dev想再次merge到master,要先对dev分支进行rebase变基或拉取master分支最新代码。

25. git比较两个分支代码
git difftool master branch_A

26. git blame <文件名> -L <起始行数,结束行数>
eg,如果要查找文件example.txt中第10行到第20行的代码是谁修改的,可以使用以下命令:
git blame example.txt -L 10,20

27. git log – <文件路径>
要查找某个文件的修改,可以使用上面命令, 这将显示指定文件的提交历史,包括提交的作者、日期、提交信息等。

28. git log -n <数量> – <文件路径>
如果只想查看最近的几次提交,可以使用上面命令, 其中,<数量>是要查看的提交数量,<文件路径>是要查找的文件路径。

29. git show <提交哈希值> – <文件路径>
另外,如果只想查看某个提交中对文件的具体修改,可以使用以下命令, 这将显示指定提交中对文件的具体修改内容。

30. .gitignore忽略文件

31. .gitignore忽略文件夹
test/ 忽略所有带有test的目录
所有空行或者以注释符号 # 开头的行都会被 git 忽略
以井号(#)开头的行是注释,将被忽略

32. git commit后还没push,回退掉commit
git reset --soft HEAD^

33. git问题解决
在这里插入图片描述

https://www.cnblogs.com/-qilin/p/15074653.html

34. git上传报错, 执行蓝框里的语句
在这里插入图片描述

35. git stash show -p : 显示第一个存储的改动内容详情
git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p,也可简写为 git stash show -p 1

36. git mergetool工具修改为自定义的
https://panmenglin.github.io/satellite-log/notes/tools/tools-merge-tool.html

37. 在clion编辑器查看git历史,右键->git->show history

38. git 使用ssh,小乌龟报错:no supported authentication methods available (server sent:publickey)
在这里插入图片描述
https://blog.youkuaiyun.com/qq_39940205/article/details/136247939
需要关闭git commit界面,按照上面操作后,再打开git commit界面,提交才可以

39. git多个提交合为一个提交
小乌龟->show log->压扁成一个提交

40. 创建并切换新分支
git checkout -b

41. 将分支A的一条提交记录合并到分支B
在分支B执行
git cherry-pick
然后推送到远端分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值