Git学习笔记

此处记录笔者在学习Git上遇到的坑以及相关的学习笔记,留备日后避坑。新手上路,高手轻喷…

基本操作

跨团队协作

fork //复制他人远程库到自己远程库上

git clone

git push

pull request //拉取请求 >> 审核 >> merge 合并

设置签名

作用:区分不同开发人员的身份

这里设置的签名和登陆远程库(代码托管中心)的账号密码没有任何关系

命令:

项目级别/仓库级别:仅在当前本地哭范围内生效(二者都有时优先采用)

git config user.name username
git config user.email email

信息保存位置:本地库/.git/config

系统用户级别:登陆当前操作系统的用户范围

git config --global user.name username 
git config --global user.email email

信息保存位置:~/.gitconfig

版本前进和后退

git reflog

image

黄色字段为部分哈希值(也是下面的索引值)

HEAD@{移动到当前版本需要多少步}

  • 基于索引值操作[推荐]

git reset --hard 局部索引值
  • 使用^符号:只能后退

git reset --hard HEAD^ //往前回滚一个版本
git reset --hard HEAD^^ //往前回滚两个版本
  • 使用~符号

git reset --hard HEAD~num //num为回退的步数

reset命令的三个参数对不

--soft

  • 仅仅在本地库移动指针

--mixed

  • 在本地库移动HEAD指针

  • 重置缓存区

--hard

  • 在本地库移动HEAD指针
  • 重置暂存区
  • 重置缓存区

删除文件并找回

  • 删除前,文件存在时的状态提交到了本地库

  • 操作:git reset --hard [指针位置]

    删除操作已经提交到本地库:指针位置指向历史记录

    删除操作尚未提交到本地库:指针位置使用HEAD

比较文件

  • 和暂存区进行比较:git diff [files]

    -[Red]

    +[Green]

  • 和本地上个版本进行比较:git diff [本地库历史版本] [files]

  • 不带文件名可以比较多个文件:git diff

分支操作

  • 创建分支:git branch [分支名]

  • 查看分支:git branch -v

  • 切换分支:git checkout [分支名]

  • 合并分支:

    第一步:切换到被合并的分支上:git checkout [被合并的分支名]

    第二步:执行merge命令:git merge [另一个分支名]

  • 解决冲突:

    第一步:编辑文件,删除特殊符号

    第二步:把文件修改到满意的程度,保存退出

    第三步:git add [文件名]

    第四步:git commit -m "日志信息" (此时commit一定不能带文件名)

克隆

  • 完整的把远程库下载到本地
  • 创建origin远程地址别名
  • 初始化远程库
  • 命令:git origin [远程库地址]

拉取

pull=fetch+merge

常用

git init //初始化本地库,并生成.git文件夹
git add <file> //添加到暂存区
git commit //添加到本地库
git status //查看状态
git checkout -- <file> //从暂存区撤销工作区的修改
git reset HEAD  <file> //从暂存区内删除该文件
git commit -m "commit message" <file> //提交到库上,并提交信息
git log //多屏查看历史版本记录。空格翻页、b向上翻页、q退出
git log --pretty=oneline //历史版本以每条一行的方式呈现
git log --oneline //历史版本以每条一行的方式呈现并只截取部分哈希值(仅显示当前版本的历史版本)
git reflog //在--online基础上出现HEAD@{num}(显示历史版本)
git help (command) //command为具体命令,可以查看该具体命令的文档
git branch -v //查看分支
git branch [new-branch] //创建一个名为new-branch的新分支
git checkout [branchname] //切换分支
git remote -v //查看远程库
git remote add [别名] [仓库远程地址] //设定远程库信息
git push [远程库别名] [分支名] //将本地库信息推送到远程库
git clone [仓库远程地址] //克隆远程仓库到本地
git fetch [远程库别名] [分支名] //将远程库信息拉取到本地,但没更改本地工作区的文件
git checkout [远程库别名]/[分支名] //切换到拉取的本地
git merge [远程库别名]/[分支名] //将拉取的本地内容合并到工作区
git pull [远程库别名] [分支名]= git fetch+git merge

别人的笔记:

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

推荐阅读更多精彩内容

  • 0. 前言 git在团队协作中有重要作用,是有必要进行系统学习的一门工具。本篇是笔者学习git操作的备忘笔记,主要...
    dounine阅读 972评论 0 2
  • Git教程 一、Git简介 1.1. Git的诞生1.2.集中式的vs分布式 二、安装Git 三、创建版本库 四、...
    曹渊说创业阅读 935评论 0 2
  • git学习笔记 声明 本文是本人学习Git过程中所做的笔记,以便日后查阅,文中多有错漏之处,不建议用作学习材料,文...
    sayonara_yoyo阅读 673评论 0 1
  • 一、常用终端指令 $ pwd用于查看当前目录 $ mkdir learngit 创建一个名为learngit的空目...
    天山雪莲_38324阅读 446评论 0 1
  • ----------------- Git 学习 ------------------ Git 简介 Git...
    Junting阅读 2,232评论 0 3