git学习

git是一个开源的分布式控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

详细学习可前往廖雪峰的官方网站的Git教程

以下主要记录git使用中常用的一些操作:

版本库

1. 创建版本库

git init: 将当前目录变成Git可以管理的目录,即版本库(又名仓库,repository)
执行完这个命令后,当前目录下会生成一个名为.git的隐藏目录,这个目录是Git用来跟踪管理版本库的。

2. 添加文件进入版本库(本地库)

git add filename: 将工作区(work directory)的文件或文件修改添加到暂存区(stage),可多次使用以添加多个文件
git add directory: 添加目录至暂存区
git add -A: 添加所有文件及目录至暂存区
git commit: 将暂存区(stage)的文件修改最终提交到分支(master)
git status: 查看当前仓库状态(是否还有修改过的文件准备提交)
git diff file: 查看文件修改,工作区(work dict)和暂存区(stage)的比较
git diff --cached file: 查看文件修改,暂存区(stage)和分支(master)的比较
git rm directory -r: 将指定目录及子目录移除出暂存区
git rm --cached filename -r: 将指定文件移除出暂存区
为了避免上传不想上传的文件,记得要添加忽略配置文件.gitignore
[图片上传失败...(image-fd6441-1514299952238)]

版本穿梭

git log: 查看版本库历史,每次改动提交为一个版本,commit后的一串数字字母是每个版本的id,可用于版本穿梭
git log --pretty=oneline: 将每个版本信息缩减到一行
git reset --hard HEAD^: 穿梭到上一个版本,HEAD代表上一个版本,同理HEAD^为上上个版本,HEAD~n为往上n个版本
git reset --hard commit_id: 穿梭到指定commit_id的版本
git reflog: 查看每一次命令操作,可查询到之前操作过的未来版本的commit_id用以穿梭回原版本
git checkout -- file: 丢弃工作区的所有修改
git reset HEAD file: 丢弃为提交的暂存区的修改
git rm file: 删除文件,可用git checkout -- file命令恢复

远程仓库

远程仓库包括Github,码云,Bitbucket等,这里以Github为例,用ssh或https关联本地库(SSH协议速度要快于https协议)
git remote (-v): 查看远程配置
git remote add origin git@server-name:path/repo-name.git: 用ssh方式关联远程仓库(origin是远程库的名字,Git默认)
git remote remove origin: 删除远程地址
git branch origin -u: 上传新分支至远程
git branch --track --set-upstream-to=orgin/name name: 将本地分支与远程分支建立关联
git push -u origin master: 第一次推送master分支的所有内容到远程仓库
git push origin master: 推送最新修改到远程仓库
git clone git@server-name:path/repo-name.git: 从远程克隆仓库到本地

分支管理

git branch (-v/-vv): 查看分支(加上括号里的参数可以看到分支详情)
git branch name: 基于当前分支创建分支
git checkout name: 切换分支
git checkout -b name: 创建+切换分支
git merge name: 合并某分支到当前分支
git merge --no-ff -m "……" name: 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并
git branch -d name: 删除分支
git log --graph: 查看分支合并图
git log --graph --pretty=oneline --abbrev-commit: 查看分支合并图,每条分支内容简略显示
git stash: 储藏未完成的工作现场,以便临时去处理其他工作
git stash list: 查看储藏的未完成工作现场列表
git stash apply: 恢复未完成的工作现场,但是stash内容不删除
git stash drop: 删除stash内容
git stash pop: 以上两步合并
git branch -D name: 强行丢弃一个为合并的分支

标签管理

git tag tagname: 打标签
git tag tagname commit_id: 在指定位置打标签
git tag -a tagname -m "……" commit_id: 创建带有说明的标签,-a指定标签名,-m指定说明文字
git tag: 查看所有标签
git show tagname: 查看标签信息
git push origin tagname: 推送一个本地标签
git push origin --tags: 推送全部未推送过的本地标签
git tag -d tagname: 删除一个本地标签
git push origin :refs/tags/tagname: 删除一个远程标签

一些常用命令

  1. mkdir: 创建一个文件目录(文件夹),例如: mkdir test就是创建一个名为test的文件夹
  2. pwd: 显示当前所在目录
  3. cd: 跳转到指定目录,例如: cd /d/test就是将目录切换到D盘下的test文件夹
  4. touch: 创建文件, 例如: touch readme.md就是创建一个md格式的文件
  5. cat: 查看文件内容,例如: cat readme.md就是查看readme.md这个文件的内容
  6. subl: 用sublime text打开文件,例如: subl readme.md就是用sublime text打开readme.md这个文件(注意:要将sublime text添加到系统环境变量才能使用这个命令)类似vi是用vim打开文件
  7. ls-ah: 显示隐藏文件
  8. ls: 显示当前目录下有哪些文件
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354

推荐阅读更多精彩内容

  • Git教程 一、Git简介 1.1. Git的诞生1.2.集中式的vs分布式 二、安装Git 三、创建版本库 四、...
    曹渊说创业阅读 945评论 0 2
  • git学习笔记 声明 本文是本人学习Git过程中所做的笔记,以便日后查阅,文中多有错漏之处,不建议用作学习材料,文...
    sayonara_yoyo阅读 680评论 0 1
  • 简单来说就是对事情全面思考,不只就事论事。是把想要达到的结果、实现该结果的过程、过程优化以及对未来的影响等一系列问...
    廖衍明阅读 611评论 0 2
  • 我已经有一周多没有更新自己的文章了,因为不知道写什么,也不知道是否要继续写下去。这一周我在干嘛呢?我将自己泡在《奇...
    Be_Jessica阅读 580评论 0 4