git分布式版本控制系统教程/githup远程仓库使用教程

在Windows上安装Git

  • [下载地址](https://git-for-windows.github.io
  • 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
  • 安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

创建版本库(repository)

1 首先,选择一个合适的地方,创建一个空目录:(Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。)
$ mkdir learngit
$ cd learngit
$ pwd              //pwd命令用于显示当前目录
/Users/michael/learngit
2 通过git init命令把这个目录变成Git可以管理的仓库:
  • 当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的
  • 如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

把文件添加到版本库

1 创建文本
  • 只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等
  • 不要使用Windows自带的记事本编辑任何文本文件,用编辑器书写。
  • 使用标准的UTF-8编码
  • 一定要放到learngit目录下(子目录也行)
2 用命令git add告诉Git,把文件添加到仓库:(可一次添加多个文件)
$ git add  file2.txt   file3.txt
3 用命令git commit告诉Git,把文件提交到仓库
$ git commit -m "wrote a readme file //该文件的注释说明"

时光机穿梭

  • 要随时掌握工作区的状态,使用git status命令。
  • 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
git status命令可以让我们再提交之前,时刻掌握仓库当前的状态,包含变化的状态
$ git status
git diff可以在提交之前查看文件修改的内容
$ git add readme.txt

版本回退

1 git log命令显示从最近到最远的提交日志,查看历史纪录
$ git log 
//或
 $ git log --pretty=oneline 
2 退回之前的版本$ git reset --hard ...
  • HEAD表示当前版本;上一个版本就是HEAD;上上一个版本就是HEAD^;往上100个版本写成HEAD~100
$ git reset --hard HEAD^
  • 查看此版本的内容
$ cat readme.txt
  • 命令git reflog用来记录你的每一次命令:
    $ git reflog
    $ git reset --hard 3628164

工作区和暂存区

  • 工作区 就是在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:
  • 版本库 工作区有一个隐藏目录.git,是Git的版本库。
    Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD
  • 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
    第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

撤销修改

$ git checkout -- readme.txt

  • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
  • 总之,就是让这个文件回到最近一次git commit或git add时的状态。

删除文件

  • 删除工作区中的文件
$ rm test.txt
  • 删除版本库中的文件
$ git rm test.txt
$ git commit -m "remove test.txt"
  • 误删了,将文件恢复到最新版本
$ git checkout -- test.txt

远程仓库

一、添加到远程仓库

1 关联远程仓库

$ git remote add origin git@github.com:michaelliao/learngit.git

2 把本地库的所有内容推送到远程库上

$ git push -u origin master
//或
$ git push  origin master
  • 关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
  • 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
  • 当远程仓库中存在README.md文件,而本地仓库没有时,需要先将该文件下载到本地仓库中,再进行把本地文件上传远程仓库的操作,命令如下:
git pull --rebase origin master

二、从远程库克隆(下载)

$ git clone git@github.com:michaelliao/gitskills.git
  • Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

分支管理

一 创建和合并分支

查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

将本地分支推送到远程新建分支上

git push origin feature-xiehe-parking:feature-lfqiluyuan-parking

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

推荐阅读更多精彩内容

  • GIT分布式版本控制系统最佳实践 这篇文章来自于老男孩教育高级架构师班12期的徐亮偉同学。 首先感谢老男孩架构师班...
    meng_philip123阅读 3,387评论 4 36
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,645评论 4 54
  • 你有多久没有读过书了? 我说的读书不是为了应付考试翻书划重点,是真正的拿起一本书静下心来,从头到尾慢慢品读。 今天...
    开皮卡的王姑娘阅读 484评论 0 2
  • 步骤: 驱动选择在.env环境中修改QUEUE_DRIVER=database来实现 定义任务 分发任务 启动队列...
    小慕先森阅读 311评论 0 0
  • 相传在很久很久以前,伊拉索森林的尽头有一座美丽的世外岛屿,这座美丽的岛屿有个美丽的名字——撒露。 撒露岛上...
    雨一相阅读 352评论 0 3