git 常用命令大全

简介

实际项目开发中,我们经常会用一些版本控制器来托管自己的代码,Git就是目前世界上最先进的分布式版本控制系统(没有之一),下面就本人在学习和实践过程中经常使用到的命令与配置。

命令        说明
安装与配置
sudo apt-get install gitUbuntu上安装Git命令
git config --global user.name 用户名设置全局用户签名 (安装Git后务必设置,去掉--global可给某个项目单独设置)
git config --global user.email email地址    设置全局用户email地址(安装Git后务必设置,去掉--global可给某个项目单独设置)
git config --global alias.别名 命令给某个命令设置全局的别名例:git config --global alias.a add 以后使用git add . 可用git a .即可(也可以退回到跟目录找到隐藏文件.gitconfig 在alias下添加 别名=命令 也行)
git config --global pull.rebase true使所有的git pull都为git pull --rebase命令:拉取代码时如果没有冲突,则会直接合并,如果存在冲突,手动解决冲突即可,不会再产生那条多余的信息
创建项目和获取
git init初始化本地库
git clone 远程库地址从远程库克隆到本地(克隆时不需要先init,克隆默认会初始化)
常用命令
git status查看本地库状态
git status -s获得简短的输出结果(文件状态和文件名)        
git add file file ...添加一个或多个变动的文件到暂存区
git add .添加当前目录下所有变动的文件到暂存区
git commit -m "备注文本" file提交暂存区文件到本地库(文件名缺失时,提交所有暂存区文件)
git commit --amend修改上一次提交的备注文本(i进入修改模式,完成后按esc :wq保存退出)
git log查看提交记录(mac 查看后按Q返回)
git log --oneline只显示历史提交备注
git log --reverse逆向查看提交记录
git log --author 用户名查询某个用户名的提交记录
git log --graph查看历史中什么时候出现了分支、合并
git rm --cached file移除在暂存区的文件(add反悔药)
git reset file file ...撤销暂存区指定文件的提交(不传入file为撤销所有暂存区文件)(add反悔药 同上)
git reset --hard 版本号(7位)工作区改变 穿梭到某一个版本(配合git reflog使用,如果没有--hard则不修改工作区只修改暂存区 )
git reset --hard HEAD^    穿梭到上一个版本(每个添加一个^就多穿梭一个版本,也可用1,2,3代替)
git branch查看本地分支列表
git branch -a查看远程分支列表
git branch 分支名创建新的分支
git branch -d 分支名删除指定分支(-D为强制删除,不管是否完全合并)
git branch --no--merged查看没有合并的分支
git push origin 分支名将本地分支推送到远程分支(分支名不相同时命令为 git push origin 本地分支名:远程分支名)
git push --force origin 分支名远程分支和本地分支有差异时,强行推送本地分支
git push origin --delete 分支名删除远程分支

git push --set-upstream origin 分支名

将本地分支在远程创建并推送(远程没有该分支时使用)
git pull origin 远程分支名:本地分支名将远程分支解压到本地
git pull --rebase拉取代码时如果没有冲突,则会直接合并,如果存在冲突,手动解决冲突即可,不会再产生那条多余的信息
git merge 分支名将该分支合并到当前分支 例 git merge B 当前在A分支 则将B合并到A分支git
git checkout 分支名切换分支(切换分支前建议先提交当前分支代码,否则可能会导致修改的代码丢失)
git checkout -b 分支名创建分支并切换
git stash将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
git stash list查看缓存列表

git stash apply

将堆栈中的内容应用到当前目录(该命令 不会 将内容从堆栈中删除)
git stash pop将堆栈中的内容应用到当前目录(该命令 将内容从堆栈中删除)

git stash drop stash@{n}

从堆栈中移除某个指定的stash(n为stash list 中对应的数字)

git stash clear

清除堆栈中所有的stash
git stash show stash@{n}查看指定的stash和当前目录差异(n为stash list 中对应数字)
git diff分支一 分支二    显示两分支差异
git diff版本号一(7位) 版本号二(7位)    显示同一分支两版本差异
管理    
git reflog    可以查看所有分支的所有操作记录
(包括已被删除的commit记录和reset的操作,git log所不能)
git tag    列出所有本地标签
git tag -l 通配模式文本(*)    根据符合通配模式文本,列出所有本地标签
git tag 标签名    为最新提交创建轻量标签
git tag标签名 版本号(7位)    为对应版本号提交创建轻量标签(在后期打标签)
git tag -a 标签名 -m 备注文本    为最新提交创建附注标签
git tag -d 标签名    删除指定标签
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值