Git常用命令

分支 branch

查看本地和远程分支关联情况

git branch -vv

推送并关联远端分支

git push -u origin master

把commit记录合并成一次, 并不提交

git merge --squash --no-commit <branch name> 

冲突取消合并, git merge --abort 只能在合并导致冲突后运行。 git merge --abort 将中止合并过程并尝试重建预合并状态。 但是,如果在合并开始时有未提交的更改(特别是如果在合并开始后进一步修改了这些更改), git merge --abort 在某些情况下将无法重建原始(合并前)更改。

git merge --abort

分支合并记录

git log --merges #查看当前分支的合并记录

#查看已经合并到<branch_name>的分支列表
git branch --merged <branch_name> 

删除分支

git branch -d 本地分支名 #删除本地分支
git branch -D 本地分支名 #是git branch --delete --force的简写,它会直接删除
git push origin --delete <origin branch name> #删除远端分支

修改本地分支名称

git branch -m 旧名字 新名字

暂存 stash

需求修改到一半,要切换到其他分支

git stash save "message"  #执行存储,仅用git stash 不方便取出

git stash list  #查看存储列表

git stash apply stash @stash{1}  #应用第二个存储

git stash drop stash@{1}  #从列表删除第二个存储

git stash clear  #删除所有存储

标签 tag

在当前commit上打上标记

git tag <lightweght_name> #为当前分支所在的提交记录打上轻量标签。
git tag #列出所有的标签名。
git checkout <tag_name> #切出标签
git tag <new_tag_name> <old_tag_name> #修改本地tag名称
git tag -d <tag_name> #删除某个标签,本质上就是移除 .git/refs/tags/ 中对应的文件。
git push <remote> <tag_name> #推送某个标签到远程仓库。
git push <remote> --tags #推送所有标签到远程仓库。
git push <remote> --delete <tag_name> #删除远程仓库中的某个标签。

撤销提交

参考: http://uoften.com/article/194475.html

情况1: 代码commit 但是还未push
参数soft 保留当前工作区,以便重新提交

git reset --soft aa909cff2239536df14820fe086d96305b24e9f1 #当前提交的前一个版本号

git log 

情况2: 代码commit 并且已经push到远端
先执行情况1, 本地撤销成功后再撤销远程仓库

#通过git push origin master –force强制提交当前版本号,以达到撤销版本号的目的:
git push origin '远端分支名' --force

#版本号强制提交成功后,就可以修改代码重新提交和推送了
git add .   
git commit -m 'xx'

修改提交信息 amend

参考: https://www.nhooo.com/note/qa3w9n.html

# 1.修改还未push的提交
git commit --amend
# 按键 **i** 可进入编辑模式
# 按键 **ESC** 可退出编辑模式
# 在非编辑模式下输入 **:wq**(与vim用法相同)可保存退出。

posted @ 2022-11-15 15:21  蒜泥香菜  阅读(49)  评论(0)    收藏  举报