Git常用命令

git基本概念

在这里插入图片描述

  • WorkSpace : 工作区
  • Index / stage : 暂存区
  • Repository: 本地仓库
  • Remote / origin : 远程仓库

常用命令

配置命令
# 显示配置
$ git config --list

# 编辑用户和邮箱
$ git config --global user.name xiaoming

$ git config --global user.email xiaoming@Gmail.com

# 直接编辑配置文件
$ git config -e --global
初始化命令
# 初始化代码库
$ git init

# 获取一个新项目
$ git clone [url]
代码提交
# 添加文件到暂存区
$ git add file

# 强制添加被忽略的文件
$ git add -f filename

# 添加当前目录所有文件
$ git add .

# 停止追踪文件,工作区中保留
$ git rm --cached file

# 提交代码到本地仓库区
$ git commit -m "message"

# 提交暂存区只当文件
$ git commit file
分支操作
# 查看所有分支(远程和本地)
$ git branch -a

# 新建分支
$ git branch branch1

# 切换分支
$ git checkout brancha

# 删除本地分支
$ git branch --delete dev

# 删除远程分支
$ git push origin --delete branch
$ git push origin :dev
查看信息
# 查看分支的所有操作记录
$ git reflog

# 查看所有变更文件
$ git status

# 显示提交历史
$ git log --pretty=oneline

# 展示线形历史
$ git log --graph

# 显示详细历史
$ git log -p

# 显示当前分支的版本历史
$ git log

# 显示暂存区和工作区的差异
$ git diff

# 显示工作区与当前分支最新commit之间的差异
$ git diff HEAD

# 显示当前和远程分支的区别
$ git diff origin remote

远程操作
# 下载远程仓库的所有变动
$ git fetch origin  
$ git fetch -a 

# 下载某一个分支变动
$ git fetch origin dev

# 取回远程仓库的变化,并与本地分支合并 [git fetch + git merge ]
$ git pull  origin  [remote-branch]:[branch]  // src -> dest

// 省略后面的相当于拉取远程与当前分支合并
$ git pull origin branch1

// 以rebase模式 [dev rebase master]
$ git pull --rebase origin master:dev

# 上传本地指定分支到远程仓库
$ git push  origin  [remote]:[branch]   // src -> dest

// 省略前面的=删除dev分支
$ git push origin :dev

// 省略后面的=推到同名分支
$ git push origin dev

# 强行推送当前分支到远程仓库,即使有冲突
$ git push origin dev -f
撤销操作
# 恢复暂存区的指定文件到工作区
$ git checkout [file]

# 如文件已提交到暂存区则恢复到工作区(修改后)
$ git checkout  file

# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit]
$ git reset --hard head // 撤销到远程分支的最新历史

# 暂时将未提交的变化移除,稍后再移入【先暂存开发修bug】
$ git stash
$ git stash pop
rebase和merge的使用
# 与主分支同步
$ git fetch origin
$ git rebase origin/master

$ git chekout branch1
$ git pull origin branch1
$ git checkout branch2
$ git rebase branch2

# rebase 2 [常用]
$ git pull --rebase origin master:dev

# 合并分支
$ git fetch origin
// 默认fast-froward 不能保留需要合并的分支信息
$ git merge --no-ff branch1 -m "Merge 'branch1' into branch"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值