git常用命令

常用命令

创建分支

查看远程仓库

git remote -v

以origin/dev_1.0为模板,创建并切到dev_1.0 分支

 git checkout -b dev_1.0 origin/dev_1.0

关联远程分支

git branch --set-upstream-to origin/google

删除远程分支

git push origin --delete release/YS_portal_new

推送本地分支到远程,指定远程分支名称

  • 不指定远程分支名称就是默认本地分支同名
git push origin YS_portal_new:release/YS_portal_new

强制推送本地分支到远程

git push -u origin -f release/gs_mch

清空账号

git config --system --unset credential.helper 
(这个是清空账号和密码,然后需要在输入账号和密码 所以还是第一种方法方便点)

比较文件

// https://blog.csdn.net/qq_36749906/article/details/113716994
git diff — 定位在工作区和暂存区做比较
git diff --cached / git diff --staged — 定位在暂存区和版本区做比较
git diff HEAD / git diff commit_ID — 定位在工作区和版本区作比较
git diff commit_ID1 commit_ID2 — 定位在版本库比较不同版本区别

在这里插入图片描述
git对比命令

git diff                工作区 vs 暂存区
git diff head           工作区 vs 版本库
git diff –cached        暂存区 vs 版本库

具体的文件比较

1.比较两次commit提交之后的差异:
git diff hash1 hash2 --stat
能够查看出两次提交之后,文件发生的变化。

2.具体查看两次commit提交之后某文件的差异:
git diff hash1 hash2 -- 文件名

3.比较两个分支的所有有差异的文件的详细差异:
git diff branch1 branch2

4.比较两个分支的指定文件的详细差异
git diff branch1 branch2 文件名(带路径)

5.比较两个分支的所有有差异的文件列表
git diff branch1 branch2 --stat

撤回上次全部的add(暂存区)

git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了

撤回上次分支合并

git rebase masterbranch

在这里插入图片描述

如果push了

git reset --mixed <版本号>
// 注意使用 --hard 参数会抛弃当前工作区,暂存区,本地版本区的修改
// 使用 --soft 参数的话会抛弃当前本地版本区的修改,但保留当前工作区和暂存区的修改,可以重新提交
//使用 --mixed 参数的话会抛弃当前暂存区和本地版本区的修改,但保留当前工作区修改,可以重新提交

如果此时使用命令:git push
会提示本地的版本落后于远端的版本

为了覆盖掉远端的版本信息,使远端的仓库也回退到相应的版本,需要加上参数–force

git push origin <分支名> --force 
或者简写为
git push origin <分支名> -f
此外,如果是第一次想把本地git仓库的内容push到远程仓库也可以使用git push origin <分支名> -f 这种方式。

简写形式

HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1
如果进行两次的commit,想要都撤回,可以使用HEAD~2

修改注释

git commit --amend

同步远程分支信息到本地

git tag -l | xargs git tag -d #删除所有本地分支
git fetch origin --prune #从远程拉取所有信息

日志相关

查看日志

git log --graph --decorate --oneline --simplify-by-decoration --all

在这里插入图片描述
忽略不想提交的文件(忽略跟踪)

git update-index --assume-unchanged <file>

清空凭证管理器

git credential-manager uninstall

重置全局用户名

git config --global --unset user.name

用vim编辑全局配置文件

git config --global --edit

删除未跟踪文件

删除文件

# 删除 untracked files
git clean -f

删除文件以及目录

# 连 untracked 的目录也一起删掉
git clean -fd

忽略的文件目录也删除

# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd

查看将要删除的文件和目录

# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd

放弃本地commit

如果想放弃本地的文件修改,可以使用git reset --hard FETCH_HEAD,FETCH_HEAD表示上一次成功git pull之后形成的commit点。然后git pull

git放弃本地commit
git reset --hard FETCH_HEAD

清理文件

git clean -n

是一次clean的演习, 告诉你哪些文件会被删除. 记住他不会真正的删除文件, 只是一个提醒

git clean -xf

删除当前目录下所有没有track过的文件. 不管他是否是.gitignore文件里面指定的文件夹和文件

git reset --hard和git clean -f

是一对好基友. 结合使用他们能让你的工作目录完全回退到最近一次commit的时候

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值