git常用命令

git区域划分(git只会对暂存区、本地仓库中的代码进行版本管理):工作区(写代码的目录)、暂存区、本地仓库,区域流转:

将工作区代码推到暂存区
git add .
将暂存区中的文件推到本地仓库
git commit -m '日志'
本地仓库同步远端仓库
git pull
将当前分支和远端develop分支关联
git push --set-upstream origin develop
将本地仓库中内容同步到远端仓库
git push
比较暂存区和工作区的区别
git diff
比较暂存区和本地仓库的区别
git diff --cached
比较工作区和本地仓库的区别
git diff HEAD
将暂存区和工作区中的修改暂存起来(此处的暂存起来不是放到暂存区)
git stash
查看stash进度
git stash list
查看某个进度具体修改的文件
git stash show stash@{0} 
恢复进度,将之前暂存起来的进度拿出来
git stash pop
危险动作,将工作区中的修改撤出,恢复到修改前的版本,执行此操作后工作区内的修改不可找回
git checkout -- fileName
把暂存区的修改撤回到工作区
git reset HEAD fileName
将暂存区和工作区中的代码回退到commit指定的地方(注意:>在执行该命令时如果暂存区或者工作区有修改的内容需要暂存起来否则会被覆盖)
git reset --hard commit后面的标记前六位即可
把本地库最近一次commit撤回到暂存区
git reset --soft HEAD^
在本地库中还原HEAD指向的那次提交,即回退到HEAD的前一次提交,会生成一个新的commit log 并且HEAD指向的commit log不会被删除
git revert HEAD

git分支操作

删除远程不存在的相关联本地分支
git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d 
删除项目中与远程未关联的所有文件
git clean -fd
删除本地分支
git branch -D 分支名称
将本地删除的分支推送到远程这样远程也会将本地删除的分支删除掉
git push origin :xxx(删除的分支)
在本地删除远程分支
git push origin -d branchName
查看所有分支(本地、远程分支)
git branch -a
列出所有远程分支
git branch -r
创建新的dev分支并切到dev分支
git checkout -b dev
切到进入到当前分支的上个分支,比如现在分支是由B分支切来的,在当前分支上执行git checkout -之后会回到B分支
git checkout -

git tag操作

常看所有tag
git tag
查看最近打的tag标签
git describe --tags `git rev-list --tags --max-count=1`
打tag
git tag 最后一个tag+1
将本地tag推到远端
git push origin 最后一个tag+1

查看git提交日志

git log
将commit日志显示成一行
git log --oneline
显示log信息,并显示本次改动的内容
git log -p
查看日志简要信息
git lg
查看改作者提交的所有日志,如果加上 -p同时显示出每次具体的>修改点
git lg [-p] --author '作者名称'

创建git用户并绑定邮件

配置git提交时的用户名
git config --global user.name "zhangsan"
配置git提交时的邮箱
git config --global user.email "email address"

使用场景

1.将本地仓库重新关联到另外一个远端仓库:

1.删除当前项目下的.git文件
2.创建本地仓库
git init
3.将本地文件交给git管理
git add .
4.将git暂存区中的文件放到git本地仓库
git commit -m '日志'
5.本地仓库关联远端仓库
git remote add origin 远端仓库中项目路径
6.将本地master分支推送到远程仓库中
git push -u origin master
7.输入账号和密码

2.找回git reset --hard覆盖掉的提交

1.你现在看git的历史记录,你可以看到两次提交
git log

提交日志:

98abc5a (HEAD, master) more stuff added to foo

b7057a9 initial commit

2.现在我们来重置回第一次提交的状态
git reset --hard b7057a9
git log

提交日志:

b7057a9 (HEAD, master) initial commit

3.这看起来我们是丢掉了我们第二次的提交,没有办法找回来了。但是 通过reflog 可以解决这个问题的。简单的说,它会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,这些操作会被记录在reflog中
git reflog

提交日志:

b7057a9 HEAD@{0}: reset: moving to b7057a9

98abc5a HEAD@{1}: commit: more stuff added to foo

b7057a9 HEAD@{2}: commit (initial): initial commit

4.要找回我们第二次commit,只需要做如下操作
git reset --hard 98abc5a
5.再看一下 git 记录:
git log

提交日志:

98abc5a (HEAD, master) more stuff added to foo

b7057a9 initial commit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git b...
    猿万阅读 5,053评论 1 45
  • 配置 首先是配置帐号信息 ssh -T git@github.com#登陆github 修改项目中的个人信息 1 ...
    rochuan阅读 720评论 1 1
  • 配置 首先是配置帐号信息ssh -T git@github.com # 登陆 github 修改项目中的个人信息 ...
    guanguans阅读 728评论 0 3
  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,872评论 5 147
  • 我咋才知道呢? 我要是早知道就好了! 很多时候我都会有这两个想法,工作生活中遇到的问题,往往都是在事后才有感慨,为...
    Sunny邹旭阅读 194评论 3 0