Git最常用命令

总结最常用的git命令,自己用到过的,每次忘了就来这里查

Git工作区、暂存区、版本库概念图

  • 工作区:我们本地操作的文件目录
  • 暂存区:git add后就放到暂存区了
  • 版本库:git commit后就放到版本库了
  • 远程版本库:git push后就放到远程版本库了


git基础命令

//设置全局用户名和邮箱(只是一个标识,记录是谁提交的)
git config --global user.name "xxx"
git config --global user.email "xxx@xxx.com"

//从远程仓库拷下来
git clone url				

//工作区->暂存区			
git add file				

//暂存区->本地仓库			
git commit file -m "注释"			

//查看当前分支的提交记录,注意是从初始节点一直到当前HEAD的记录
//HEAD后面也可能有节点,比如用过reset
git log				

//查看所有分支的提交记录节点图	
git log --graph --all

//查看提交记录节点图,单行显示,简化commit id显示
git log --graph --pretty=oneline --abbrev-commit

//查看文件修改状态				
git status

//比较工作区与最新版本库的差异(这个用的多一些)
git diff HEAD

//版本回退,注意,reset不会删除历史提交节点,只是移动指针
git reset 版本号

//将暂存区回退到当前最新版本,通常用于撤销add
git reset HEAD

//回退到上一个版本,通常用于撤销commit
//注意,现在好像不能用HEAD^了
git reset HEAD~

//若加--hard,则把工作区和暂存区都恢复到版本库HEAD
//若不加--hard,则只把暂存区恢复到版本库HEAD,工作区改动还在
//这条用的最多!!通常用于工作区改乱了,直接恢复最新版本
git reset --hard HEAD

//版本回退后悔,重返未来
git reflog(查看历史命令,找到commit id,再回退回去)

git分支相关

//列出所有本地分支和远程分支
git branch -a			
					
//新建分支并留在当前分支
git branch name			

//新建分支并进入新分支		
git checkout -b branch_name				
	
//新建分支匹配clone的远程分支
git checkout -b branch_name origin/branch_name		

//切换分支(如果本地没有远程有,则会基于远程创建)
git checkout/swtich branch_name	

//切换分支时,当前工作区内容想暂时保存下来一会回来接着改
//详细请单独搜git stash用法
git stash

//合并指定分支到当前分支(merge)
git merge branch_name				

//合并指定分支到当前分支(rebase,具体可以看我reabase那篇文章)
git rebase branch_name

//撤销合并(刚merge完之后反悔了)
git reset --hard HEAD^

//本地分支重命名
git branch -m old_name new_name

//本地分支关联远程分支(必须关联以后才可省略分支名使用git pull)
git branch --set-upstream-to origin/新分支名称

//删除本地分支
git branch -d branch_name				

//删除远程分支(方法一,不推荐)(注意origin后的空格)						
git push origin :branch_name		

//删除远程分支(方法二,推荐)
git push origin --delete branch_name		

//删除无效分支(远程库已经没有了,本地git branch -av还显示的)
git remote prune origin

git远程库相关

//关联本地库和远程库
git remote add origin git@github.com:username/xxx.git

//添加另一个远程库	
git remote add my_origin https://username:password@xxx.git

//本地库推送到远程库master分支(-u表示设置该远程库为默认,同时也设置了远程master是本地master的默认,下次就可以简化写为git push)   
git push -u origin master				

//推送本地test分支到远程test分支(本地分支名:远程分支名)
git push origin test:test

//本地分支名和远程分支名相同,可以省略test:
git push origin test

//查看远程库详细信息
git remote -v

//删除远程库								
git remote rm repo_name

//从远程库下载代码并合并
//每次要在一个之前clone下来的分支下开始开发的时候,先pull一下最新改动
git pull 远程仓库名 远程分支名:本地分支名
(git pull = git fetch + git merge)

//使用rebase进行合并(推荐!)
git pull --rebase

//从远程库下载代码(未合并)									
git fetch						


————————————————
版权声明:本文为CSDN博主「风中一匹狼v」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42310154/article/details/117755012

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值