git 常用操作汇总

git 仓库特点

  1. 使用快照流
  2. 近乎所有操作都是本地执行
  3. 一般只添加数据
    三种状态:modified -> committed -> staged
在 Git 中任何已提交的东西几乎总是可以恢复的。甚至那些被删除的分支中的提交或使用 --amend 选项覆盖的提交也可以恢复。然而,任何你未提交的东西丢失后很可能再也找不到了。

config

全局读:~/.gitconfig(在无.git目录下 或者 加上--global 参数)
项目读:.git/config

  1. git config --list
    列出当前所有配置信息
  2. git config <key>
    查询某一项配置信息

status

git status -s 简短输出各文件状态

diff

git diff 查看未放入暂存区的文件变化
git diff --cached 查看已放入暂存区的文件变化

commit

git commit -a 可以跳过 git add . 步骤
git commit --amend 提交后发现忘记了暂存某些需要的修改,可以使用此命令,最终只会有一个提交 - 第二次提交将代替第一次提交的结果

reset

  1. git reset:回滚 git add 操作
  2. git reset --soft HEAD^:回滚最近一次提交(commit)
  3. git reset --hard HEAD~n:永久删除最近的 n 个提交
  4. git reset --hard:回滚 git pull 操作
  5. git reset -- {fileName}:回滚 git add fileName 操作
  6. git reset --keep {tagName}:回滚到 tagName 之前

rm

git rm 从已跟踪文件清单中移除(确切地说,是从暂存区域移除)
git rm --cached 把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中

mv

git 不会显示地跟踪文件的重命名和移动
所以需要使用git mv命令
git mv {originFile} {targetFile}
相当于以下三条命令
mv {originFile} {targetFile}
git rm {originFile}
git add {targetFile}

log

git log 查看提交历史
-p 查看提交历史的变化
-2 查看最近两次提交
--stat 查看简略信息
--pretty=oneline 一行表示一次提交信息
--pretty=format:"%h - %an, %ar : %s" 指定格式显示提交信息

tag

  1. git tag:列出已有的标签
  2. git tag -a {tagName} -m {‘description’}:创建标签
  3. git tag -s {tagName} -m {‘description’}:使用私钥创建标签
  4. git tag -d {tagName}:删除标签
  5. git tag {tagName}:创建轻量级标签(无描述)
  6. git tag -a {tagName} {HEAD} -m {‘description’}:对某一次提交打上标签
  7. git push --tags:分享标签

show

git show 命令指定提交ID(hash HEAD)来查看具体的变化

stash

git stash 将当前工作区的更改隐藏起来 保存在一个栈中
git stash pop 将隐藏栈顶部的工作去更改推出
git stash list 显示当前的隐藏栈
git stash 详解

git工作流程

  1. 将Git的一个存储库克隆为工作副本。
  2. 可以通过添加/编辑文件修改工作副本。
  3. 如有必要,还可以通过让其他开发人员一起来更改/更新工作副本。
  4. 在提交之前查看更改。
  5. 提交更改:如果一切正常,那么将您的更改推送到存储库。
  6. 提交后,如果意识到某些错误并修改错误后,则将最后一个正确的修改提交并将推送到存储库。
image.png

rebase

好用的 git rebase

delete branch

  1. 删除本地分支:git branch -d 分支名称
  2. 强制删除本地分支:git branch -D 分支名称
  3. 删除远程分支:git push origin --delete 分支名称

shortlog

git shortlog 统计提交(commit)次数
-s 只显示次数,不显示commit描述
-n 从多到少排序

强行将远程代码回滚

git reset HASH_HEAD
git push -f

.gitignore 存放忽略文件

# no .a files
*.a

# but do track lib.a, even though you're ignoring .a files above
!lib.a

# only ignore the TODO file in the current directory, not subdir/TODO
/TODO

# ignore all files in the build/ directory
build/

# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt

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

推荐阅读更多精彩内容

  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,485评论 0 13
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,638评论 4 54
  • 简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 与常用的版本控制工具 ...
    闽越布衣阅读 2,713评论 0 18
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,437评论 1 26
  • 【原文】“在上位,不凌下;在下位,不援上。正己而不求于人,则无怨。”——西汉·戴圣《礼记·中庸》 【大意】君子身处...
    爱在夏末秋初阅读 889评论 0 1