目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好的

  下载地址: http://code.google.com/p/msysgit/downloads/list

  安装没什么注意的,如果对于安装选项不熟悉,一直next就行。

什么是Git和GitHub

Git —The stupid content tracker, 傻瓜内容跟踪器,是一个由Linux内核开发者Linus为了更好地管理Linux内核开发而创立的分布式版本控制软件

GitHub — 学生做版本控制最讨厌的就是找服务器,配置太麻烦了。GitHub这个网站为每个用户提供服务器托管其Git代码库,免费空间为300M。注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目

为什么不选CVS或SVN

  Git提交/克隆/pull/push的速度更快

  Git的绝大多数操作都可以在本地完成,不需要频繁连接服务器

配置SSH

GitHub选择的默认通信方式是SSH,所以要先在Git里面生成SHH Key,打开Git Bash在其中输入如下命令:

  ssh-keygen -t rsa -C "*****.com"  

  其中引号里面为注册github时的邮箱,输入命令后连续按多次回车即可,在当前文件夹下会生成.ssh文件在里边 找到 id_rsa.pub文件,用记事本打开,复制其中的全部内容。登陆你的GitHub账户,依次点击Account Settings > SSH Public Keys > Add another public key,把id_rsa.pub中的内容拷贝进去 。至此,基本的设置已经完成了。

  测试一下, 输入 ssh -T git@github.com

      

  选择yes

       

  此时表示成功

git简单使用

配置Git(将来查看历史记录的时候会用到,注意一定要配置)
git config 可以列出或修改配置
git config -l 打印可以配置的相关属性
告诉git当前用户名的姓名和邮件地址
git config —global user.name “张三” 配置提交者的用户名字(全局配置)
git config —global user.email “zhangsan@163.com” 配置提交者的用户邮箱
git —version 打印git版本
——————————————————————————————
① 桌面创建仓库叫MyGit 利用终端创建: mkdir 目录名
命令:cd desktop
命令:mkdir MyGit
② 从终端进入该文件
命令:cd MyGit
③ 命令:git init
作用:初始化git,里面的有个隐藏文件叫.git,里面隐藏有一些文件
现象:Initialized empty Git repository in /Users/zhangzenan/Desktop/MyGit/.git/
命令:cd .git
命令:ls -a 可以查看.git中的所有文件
命令:cd ..
回到MyGit目录中
注:.git目录就是Git版本库(又叫仓库,repository),被称作为工作区.

如果用Git来写红楼梦,应该怎么写?
① 创建一个文本,内容标题:红楼梦,将文件命名为HLM并保存到MyGit中
命令:git status
作用:打印仓库状态
⑤ 打印git状态
命令:git status

终端打印内容:
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
HLM.txt(该名称为红色)
nothing added to commit but untracked files present (use "git add" to track)

翻译内容:(英语一般,大致意思如下)
位于分支 master 上
初始化提交:
没有被追踪的文件:
(使用"git add <file>.."命令将要被提交的东西包含进去)
HLM.txt 要包含的文件名为HLM.txt
没有东西被添加并提交但是目前有未被追踪的文件(使用"git add"命令来追踪)

命令:git add HLM.txt
作用:添加文件到git中(要求Git跟踪文件,将文件置于Git管理之下)

再次git status

终端打印内容(下列显示为成功内容)
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: HLM.txt (名称变为绿色)

⑥ 可以开始写红楼梦第一回啦!
例如:第一回 甄士隐梦幻识通灵 贾雨村风尘怀闺秀(样本)
git commit -m “第一回写完了” 提交文件到Git库中(每次提交都要添加注释,例如对文件修改了什么东西.-m后写的是本次提交的说明)
⑦ 写红楼梦第二回,然后git status,会提示使用两个命令 使用git add . (添加的一个快捷方式) 使用git commit -m *真正提交
⑧ git log 可以查看之前所做的所有事情 其中有个commit后面跟一堆东西,这是通过其他算法算出的一个唯一标识,将来”回滚”的时候会用到这个标识符
按q退出
⑨ git log --pretty=oneline 可以简化log打印的内容

—————————————————————————————————————

① 发现标题一写错,重新修改,然后git status打印内容. 通过git diff 查看两次修改的内容差别
② git commit -a -m 修改了标题一

—————————————————————————————————————

① 脑袋不清醒写第三回,乱写一通,第二天通过 git diff来查看区别
② 我想回滚到上一个阶段,把工作区中尚未提交的内容废除掉
git checkout HLM.txt 回滚没有add的修改
③ 强制回滚到某一个版本的代码(add/commit过的文件均可回滚) git reset --hard **
标识符可以只写前几位,或者直接粘过来
④ 想重新恢复到之前最新的那个版本
git reflog 查看之前所有的修改操作,根据前面的标识符进行回滚
—————————————————————————————————————
① 曹雪芹临时有事要出差,于是邀请好友帮她写东西,但是不能直接在原稿上修改,因此要创建分支
git branch 查看分支 ==> 查看稿件作者,默认为master
git branch zhangSan 创建分支
git checkout zhangSan 切换到zhangSan对应的分支
接下来由zhangSan来搞定
② 写第三回.内容:第三回 贾雨村夤缘复旧职 林黛玉抛父进京都.写完后提交git commit -a -m '第三回完成'
git status 打印当前状态
③ 曹雪芹出差回来,发现他写的挺好,准备合并
切换到自己的分支 git checkout master
合并分支 git merge zhangSan
注:SVN创建分支很费劲,需要将所有数据全部复制,但是Git只是一瞬间的事情
④ 作者自己写第四回,内容:第四回 薄命女偏逢薄命郎 葫芦僧乱判葫芦案.写完以后提交一次,然后接到命令出差,让好友zhangSan继续帮她写作
作者走之前提交:git commit -a -m "第四回完事"
zhangSan应该切换到自己的分支继续写作,写第五回并提交.内容:第五回:游幻境指迷十二钗 窗前明月光,意识地上霜
⑤ 作者回来以后发现他写的不怎么滴,准备自己重新写第五回
先切换自己的分支,接着从第四回往后写第五回,内容:第五回 饮仙醪曲演红楼梦,然后提交
提交完以后,忽然他发现他好友写的某些语句特别好,合并分支
现象(出错):因为两个人都写了第五回,合并的时候会发生冲突
解决办法:打开你的文件,会发现所有文件都在了,需要手动把不满意的删了,满意的留下,改好以后再次提交

注:产生冲突的两种情况
① 分支合并会产生冲突
② 多人同时修改一个文件会产生冲突
如果A修改但没提交,B来了,修改并提交.如果这个时候A再提交,会发生冲突,因为当前文件状态已经不是A那时候的状态了.这个时候A要手动修改冲突的地方并再次提交

⑥ 作者认为第一阶段结束,准备发布一个版本0.1
git tag 打印版本
git tag v0.1 添加一个0.1版本

本地管理结束

—————————————————————————————————————
如果频繁出差会影响写作效率,如果在外地也能写作就好了
远程管理:GitHub(提供免费的仓库管理,而且可以查看别人的仓库,例如FMDB)
GitHub(国外的):对于不公开的项目是收费的,公开项目是免费的
commits:提交次数
branches:分支次数
releases:发布版本数
contributors:贡献者个数

技巧:找第三方库都在这里找,而且Star超过3000的最好都看看,常见类库有1000个,知道的越多写代码越顺畅.

git的安装和简单使用的更多相关文章

  1. git的安装以及简单使用

    前提准备: 1.已有github官网账号:(若无,注册流程百度一下) 2.git安装包,官网下载:https://git-scm.com/downloads.(顺带吐槽下,真是龟速下载.) 一.安装g ...

  2. mac下的git的安装与简单的配置

    git 本地操作 git 简单介绍 .Git是分布式的SCM,SVN是集中式的 2.Git每一个历史版本号存储完整的文件,SVN存储文件差异 3.Git可离线完毕大部分操作,SVN则相反 4.Git有 ...

  3. Mac上Git的安装与简单使用

    一.安装: Git下载地址: http://git-scm.com/downloads/ 下载Git.配置Git: http://blog.csdn.net/reactor1379/article/d ...

  4. git在windows上的安装和简单使用

    git在windows上的安装和简单使用. 参考: https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E ...

  5. Git简易教程-安装及简单使用

    Git是一种版本控制器,在项目开发中可以用来托管代码 一.下载安装Git 1. Git下载 地址:https://git-scm.com/download/win 2. 安装 检验是否安装成功 电脑桌 ...

  6. 版本管理之Git(二):Win7上Git安装及简单配置过程

    一.安装包 msysgit(Windows版本的Git) 下载地址:http://code.google.com/p/msysgit/downloads/list?q=full+installer+o ...

  7. 4.Git的安装

    最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Window ...

  8. Git版本控制工具(一)----git的安装及创建版本库

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  9. window下版本控制工具Git 客户端安装

    安装使用 1.下载msysgit http://code.google.com/p/msysgit/ 2.下载tortoisegit客户端安装 http://code.google.com/p/tor ...

随机推荐

  1. c++ hex string array 转换 串口常用

    c++ hex string array 转换 效果如下 tset string is follow 0x50 55 0x35 00 10 203040506073031323334ff format ...

  2. java类和对象详解

    类和对象 java 是面向对象的语言 即 万物皆对象c语言是面向过程语言 一.怎么去描述一个对象? (1)..静态的(短时间内不会改变的东西) 例如:外观,颜色,品牌 (2).动态的(动作) 可以干什 ...

  3. 计算机基础与python安装

    计算机基础 内容详细: 一.计算机基础 1. 计算机什么组成的 输入输出设备 cpu 硬盘 内存 中央处理器 处理各种数据 相当于人的大脑 内存 存储数据 硬盘 存储数据的 2. 什么是操作系统 控制 ...

  4. redis 入门教程

    https://edu.aliyun.com/course/22/lesson/list?spm=5176.8252056.759075.5.Bbrpyz

  5. mybatis的BLOB存储与读取

    http://blog.csdn.net/luyinchangdejiqing/article/details/45096689 简单介绍一下背景环境,web开发避免不了照片附件之类的东东,原先是存到 ...

  6. 按Excel的模板导出数据

    思路:把Excel模板上传到服务器:然后读取文档,写入数据,另存为新的文件 然后就是导出的时候处理数据定义的字符串,按数据导出:注意读取的数据流要处理下,不然会报异常 public Stream Ge ...

  7. CNN 笔记

    1. 卷积后的图像的大小为    (w+2p-f)*3 / s    W为图像的宽,p为padding的大小, f为卷积核大小, 3 为图像的通道数, s为步长 2. 卷积层和池化层的区别? 卷积层是 ...

  8. nexus 绑定负载均衡nginx反向代理后 遇到的https问题。

    1.今天搭建maven私服,下载安装好nexus运行后,通过IP可以直接访问,没有问题,如:http://123.123.123.123:8081 就可以进入主页面.没有任何问题. 2.但是他默认是h ...

  9. 基于AccessToken方式实现API设计

    一.举例说明: 需求: A.B机构需要调用X服务器的接口,那么X服务器就需要提供开放的外网访问接口. 分析: 1.开放平台提供者X,为每一个合作机构提供对应的appid.app_secret. 2.a ...

  10. vue模板字符串写法

    1.模板字符串拼接id <div class="thumbnail" :id="`ctrol_${item.id}`"> <i :class= ...