Git 常用命令梳理

结合自己的开发实践,梳理常用操作命令。用于后续的参考(做备忘录)

Git 安装

OS : Ubuntu 16.0.4

# 安装
sudo apt install git
# 验证
git --version

Git 配置

# 用户名、邮箱配置 与 取消配置
git config [--global] user.name user.name/email
git config [--global] --unset user.name/email
# 查看项目配置信息
git config -l
# commit 默认编辑器
1. git config --global core.editor "vim"
2. export GIT_EDITOR=vim
3. 修改~/.gitconfig, 添加
[core]
    editor = 'vim'
# 查看远程库
git remote
# 配置多个远程库
git remote add [upstream(远程库别名)] [ssh仓库地址]
# 删除远程库
git remote rm [upstream(远程库别名)]

Git 多账号配置

# 新建ssh key (~/.ssh),并自定义秘钥文件名(id_rsa_xxx)
ssh-keygen -t rsa -C "XXXX@xxx.com"
# SSH 添加新私钥
ssh-add ~/.ssh/id_rsa_xxx
# 添加配置文件(~/.ssh/config)
vim config

以下内容添加到config文件中:
# start
# 该文件用于配置私钥对应的服务器
Host github
HostName github.com
User xxx
IdentityFile C:/Users/Administrator/.ssh/id_rsa

# 建一个别名xxx,新建的帐号使用这个别名做克隆和更新
Host xxx //别名
HostName xxx
User xxx
IdentityFile C:/Users/Administrator/.ssh/id_rsa_xxx
# end

# 测试
ssh -T git@github.com  
ssh -T git@github
# 应用
git clone git@github:xxx.git

参考链接:http://www.cnblogs.com/BeginMan/p/3548139.html

Git 基本命令

# 仓库拉取
git clone [仓库地址]
# 拉取更新
git pull / fetch  [远程仓库名] :git fetch origin
# 分支查看
git branch
# 分支创建
git branch -b branchXX
# 切换分支
git checkout branchXX
# 分支删除
git branch -D branchXX
# 远程分支删除
git push origin --delete branchXX
# 分支合并
git merge branchXX
# 修改内容查看
git diff [文件全路径] //查看文件修改内容,便于review
git diff [分支名] //比较间的不同
# 查看提交日志
git log

git fetchgit pull 区别,简单讲,git pull会自动与本地代码合并,而git fetch 需要手动执行merge操作。官方介绍

数据回滚

git本地架构

git reset

git reset 命令执行本地仓库中数据的回退
git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit_id>]

--mixed 重置本地仓库当前版本,以及重置缓存区(默认)(缓存区对应图中的index)
--soft    仅仅重置本地仓库
--hard 重置工作区、暂存区、本地仓库
--merge 重置工作区、暂存区、本地仓库
--keep 重置本地仓库 但是保留本地修改

# HEAD指向的版本就是当前版本
git reset --hard HEAD^ //回退的上一个版本,可以用来清除已经add到缓存区但是不想进一步提交的内容
git reset --hard HEAD^^ //回退的上上一个版本
git reset --hard HEAD~10 //回退的上10个版本

# 使用commit id回退(commit_id使用 git log 查看)
git reset --hard commit_id
git reset --hard 3628164 // commit_id 可以只输入前几个字符

git reflog // 查看命令历史,即便自己回退错误,也能正确的返回

git revert

git revert 用一个新提交来消除一个历史提交所做的任何修改

git revert [commit_id] //commit_id使用 git log 查看

git checkout --

git checkout -- 用来回退本地已修改但没有 commit 的文件

git checkout -- [文件全路径/通配符]

git stash

git stash 临时存储。你正在开发A功能,B功能的有个紧急的bug需要修复,但是正在开发的代码不能构成一个commit,你该怎么办?使用 git stash 储藏当前工作状态。

# 储藏
git stash
# 查看储藏的队列
git stash list
# 还原
git stash pop/apply  [stash] //stash 为 git stash list 中的索引值,如stash@{0},
默认还原队列中的第一个存储状态
# 清除储藏的所有状态
git stash clear 

git popgit apply的区别为 git pop 还原后会删除该储藏记录,git stash pop 相当于 git stash apply && git stash drop

Git 小技巧

# 删除本地还未add的修改
git clean -f -d 
# 在本地库中删除一个文件
git rm 文件名
# 内建的图形化 git:
gitk
# 彩色的 git 输出:
git config color.ui true
# 显示历史记录时,每个提交的信息只显示一行:
git config format.pretty oneline
# 可视化分支合并图
git log --graph  

官网链接

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

推荐阅读更多精彩内容