git教程学习

git分布式版本控制系统,记录每一次的改动
分布式与集中式

集中式:最新版本存在一个中央服务器,每次工作必须先拉取,写完再上传。
缺点:安全性低,中央处理器损坏代码丢失。工作必须联网(代码在版本库中)
分布式:每个人的电脑都有完整的版本库,有一个服务器充当中央服务器便于多份代码的交换
优点:安全性高,一份丢失可复制其他版本库,无需联网(代码在本地版本库)

Mac OS上安装git,git安装三种方式

1、homebrew安装:安装homebrew(https://brew.sh/)
安装homebrew包管理工具:复制终端/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装git:brew install git
2、Xcode安装git:
直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了
或使用命令行:xcode-select --install,弹出对话框点击安装
3、从官方下载包,双击安装

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
为每个git单独设置用户名和email,或者所有git用户名email一致

进入.git文件夹
1、为每个git设置用户名email
git config user.name "ming"
git config user.email "abc@qq.com"
查看config文件:cat config 图1
2、所有git设置同样的信息
git config --global user.name "ming"
git config --global user.email "abc@qq.com"
3、存储git的用户名密码
git config credential.helper "store"
执行后,config文件中增加字段,图2
图1

图2

创建版本库

创建空文件夹:mkdir document
进入文件夹:cd document
初始化仓库:git init(文件夹中多了.git目录)
//查看隐藏目录:ls -ah(查看隐藏的.git目录)
添加文件到git:git add “readme.txt”
//常见报错https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304
//git命令只在git目录内生效,git init除外
提交代码:git commit -m “new files”
查看目前状态:
 git status
On branch master
nothing to commit, working tree clean
没有未提交的修改

修改提交:

git  add "readme.txt" //会覆盖原有代码,将文件放到暂存区
git commit -m "modify"//将文件提交到版本库,将暂存区内文件一次性提交

版本回退:HEAD为版本指针

git log//查看日志,都提交过哪些版本
//git log --pretty=oneline 可以看到版本号 图3
git reset HEAD^//上一版本
git reset HEAD^^//上两个版本,以此类推
前进到未来版本
//git relog 记录每一次命令
git reset --hard 版本号前几位(四五六位)
图3

工作区、暂存区

工作区:本地文件夹
暂存区:使用commit将修改提交到版本控制库

撤销修改: 回到最近一次git commit 或git add

git checkout -- readme.txt
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
一种是readme.txt已经添加到暂存区后,发现暂存区中东西有问题不能提交,使用git reset HEAD <file>将暂存区内容回退到工作区,再将工作区修改丢掉git checkout -- readme.txt

删除文件

rm test.txt//删除工作区文件
git commit -m “delete”//提交删除修改,从版本库删除

git 命令:

提交代码:git commit -m "modify" //-m ""  提交说明
查看git上文件状态(添加,修改等):git status
查看与原来git上的文件的差异:git diff “readme.txt”
提交修改代码(与提交新代码一样):git add “readme.txt”       git commit -m

更多git实践总结见 git实践总结

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

推荐阅读更多精彩内容

  • 2018/4/25 21:57 学习自Git教程 1、Git:分布式版本控制系统——自动记录每次文件的改动。 Gi...
    雨落_星辰阅读 159评论 0 0
  • 一、Git简介 用一句话来说: Git是目前世界上最先进的分布式版本控制系统(没有之一) Git有什么特点:简单的...
    天痕丶阅读 215评论 0 0
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,683评论 1 17
  • 看着标题很多的同学相信都会有疑问,为了要重学Git,之前难道学习的正确,没错,如果不是正确的学习Git后面遇到的问...
    跟老刘学python阅读 307评论 0 0
  • 一:Git是什么?Git是目前世界上最先进的分布式版本控制系统。工作原理 / 流程: Workspace:工作区I...
    静水流深ylyang阅读 449评论 0 2