一、window下的git安装

1.安装教程

网上教程一堆。我參考的是这个:Git_Windows 系统下Git安装图解

还有这个也不错

2.环境搭建:

在配置完毕后,自己主动载入到系统环境变量中。如我的是:D:\Program Files\Git\cmd

3.配置本地git及生成公钥

安装好Msysgit后,就能够開始配置开发环境了,能够双击Git桌面图标,进入shell后配置name和email,给定一个默认的配置。

然后生成公钥:

ssh-keygen.exe -C "your@email.address" -t rsa

这样就能够在你的用户下取得须要的公钥匙。公钥位于你的电脑中“C:\Documents and Settings\Airen.ssh”的“id_rsa.pub”文件下,用记事本打开然后复制下来。

4.设置Github帐号的Public Key

登陆github.Com 站点,在SSH Public Keys 设置你的SSH Public Keys,然后创建SSH keys将复制的id_ras.pub中公钥粘贴进去,保存就可以。

通过这一系列的操作就行对自己的项目的服务中就行进行git的相关操作了。

二、推荐与介绍

终于我更加推荐再阅读下面几篇博客:

Git与Repo入门

它介绍了版本号控制的历史。从原始的版本号控制(即原型-备份-复制-改动-备份-再创建-……然后归为一类,全然手动,就像改动word文档一样。)

过渡到本地版本号控制

手工管理比較麻烦且混乱,所以出现了本地版本号控制系统。记录文件每次的更新,能够对每一个版本号做一个快照,或是记录补丁文件。比方RCS。

本地版本号控制主要针对个人,为了可以满足团队协作,于是就出现了集中版本号控制比方Subversion,Perforce。

集中式版本号控制也出现非常多问题,比方必须联网才干更新和提交,不联网则不行,也不能看到历史版本号,且数据都保存在server上。

于是出现了分布式版本号控制,如GIT。Mercurial。

不是复制指定版本号的快照,而是把全部的版本号信息仓库全部同步到本地,这样就能够在本地查看全部版本号历史,能够离线在本地提交,仅仅需在连网时push到对应的server或其它用户那里。因为每一个用户那里保存的都是全部的版本号数据,所以,仅仅要有一个用户的设备没有问题就能够恢复全部的数据。

假设比較分布式版本号控制(以Git为代表)和集中式版本号控制(以Subversion为代表)最大的差别是什么??

在这篇博客学一点Git--20分钟git高速上手中解说的非常清楚。就是就是不用server的svn。

学一点Git--20分钟git高速上手这篇博客非常好的比較了git和svn,对于像我一样的新手来说实为珍宝,慢慢咀嚼。

三、git基本操作

1.获取git仓库

书上说两种方法,一是在本地文件夹文件里:用:git init初始化创建仓库。

E:\>mkdir gitdemo

E:\>cd gitdemo

E:\gitdemo>git init
Initialized empty Git repository in E:/gitdemo/.git/

另外一种就是克隆远程文件夹将远程server上的仓库全然镜像一份至本地,而不是取某一个特定版本号,所以用clone而不是checkout:git clone

E:\knowcars>git clone git@github.com:BeginMan/knowcar.git
Cloning into 'knowcar'...
The authenticity of host 'github.com (192.30.252.130)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of know
n hosts.
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
Checking connectivity... done

基本格式:git clone git@github.com:你的github帐号名称/你的项目名称.git。

通过上面的两种操作,我们打开文件查看。根目录下都含有.git的目录。大多数都隐藏起来了,可通过设置显示隐藏的文件、目录和驱动器选项显示隐藏文件。

.git目录含有项目的配置、记录信息等.

2.GIT中版本号的保存

与SVN的差别

Git与你熟悉的大部分版本号控制系统的区别是非常大的。或许你熟悉Subversion、CVS、Perforce、Mercurial 等等。他们使用 “增量文件系统” (Delta Storage systems), 就是说它们存储每次提交(commit)之间的差异。Git正好与之相反,它会把你的每次提交的文件的所有内容(snapshot)都会记录下来。这会是在使用Git时的一个非常重要的理念。

这里能够參考GIT对象模型来理解。

四、GIT文件操作

我极力推荐的这篇博客中:Here就已经将git的原理解说的非常好了。版本号控制归根结底就是对文件的操作。要把文件分门别类,对不同的类别有不同的处理方式。

git文件状态才是理解git原理的基石。所以一定要搞清楚GIT的三个工作区域:本地数据(仓库)文件夹,工作文件夹。暂存区;要对已跟踪状态(tracked),和未跟踪状态(untracked)有明白的判定和熟练的处理。

注意一点的是:

已跟踪文件都是从git directory取出来的文件的某一个版本号或新跟踪的文件。

所以当我们无中生有一个文件的时候。它仅仅是未跟踪状态的,我们能够用

git add <file>  #来跟踪文件
git status #来查看当前工作文件夹的状态呢?哪些文件已被暂存?有哪些未跟踪的文件?哪些文件被改动了?
git reset HEAD <file> #取消暂存文件
git checkout --<file> #取消未暂存状态的文件的改动,返回到暂存或者已经提交的状态;

查看文件改动后的差异:

git diff [<filename>]   查看未暂存文件的改动;
git diff --cache 查看已暂存状态的文件的改动;
git diff --staged 效果同上,在git1.6.1以上版本号可用。

例如以下:

---a:表示改动之前的文件

+++b:表示改动之后的文件

上图表示在fileb的第一行后加入了一行"bb",原来文件的第一行扩展为了改动后的1、2行。

注意:git diff显示的是文件改动后还没有暂存起来的内容,看已暂存的内容使用 git diff --cached就可以。

/dev/null表示之前没有提交过这一个文件,这是将是第一次提交。

git 安装及命令的更多相关文章

  1. git安装及命令使用和github网站

    最近参与别人的github项目时,学习了git的使用,首先需要在https://github.com/网站上注册账号和邮箱,然后fork一个开源项目,然后下载目前Windows下最新版本的git,下载 ...

  2. git版本控制 for window安装和命令行使用

    Git 安装配置 Windows 平台上安装 在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行 ...

  3. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...

  4. msys git 安装配置、git命令行使用

    安装 .安装msys git客户端程序 .打开git bash,命令ssh-keygen –C “admin@test.cn “ –t rsa .复制C:\Users\felix\.ssh\id_rs ...

  5. Git安装和常用命令

    Git是目前世界上最先进的分布式版本控制系统!!! Git能自动帮我们记录每次文件的改动,还可以让同事协作编辑. 接下来,简单的介绍下Git的安装和常用命令: Git安装: 1.Windows系统,进 ...

  6. webstorm和git安装后,terminal输入git命令,提示'git' 不是内部或外部命令

    最近换了工作,拿到电脑重新搭建编程环境,踩了好多git和sourcetree的坑,就是一直拉不下来代码,晕·~~经过几天的爬坑,终于可以拉取推送代码了!!! 问题:webstorm和git都安装完成, ...

  7. Git介绍、安装、命令和实战

    一.Git介绍 Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 二.Git安装(Mac系统) 在Git官网下载安装包双击直接安装 在终端输入git来检测Git ...

  8. GIT的安装及命令使用

    http://blog.jobbole.com/78960/ 因此:多人协作工作模式一般是这样的: 首先,可以试图用git push origin branch-name推送自己的修改. 如果推送失败 ...

  9. git安装及git命令的用法

    git安装流程 https://git-scm.com/download/win (官网下载) git安装步骤 1.双击安装包 图文解释:

随机推荐

  1. python根据文件目录、文件类型和文件与当前时间差删除文件

    直接贴代码: 删除某个目录下的文件,不遍历木路下文件夹下的文件,根据时间差删除,默认7天 #!/usr/bin/python # -*- coding: gbk -*- import os impor ...

  2. Unity 过度光照贴图

    背景:开关窗帘过程,让环境在亮和暗之间过度 事先烘培出亮.暗两张Lighting map.然后代码实现,窗帘开关由动作实现,而代码中通过动作执行进度来过度两张Lighting map void OnA ...

  3. 26深入理解C指针之---不规则数组与指针

    一.不规则数组:每一行的列数不相等 1.复合字面量: 1).复合字面量是一种C构造 2).外形和数组声明差不多,写法与类型转换一样,(int[3]){10, 20, 30,} 3).将多个复合字面量可 ...

  4. LeetCode OJ--Median of Two Sorted Arrays ***

    http://oj.leetcode.com/problems/median-of-two-sorted-arrays/ 找两个有序数组的中位数,因为有序数组,并且复杂度要求O(lg(m+n))所以想 ...

  5. MVC中使用ajax传递json数组

    解决方法 去www.json.org下载JSON2.js再调用JSON.stringify(JSONData)将JSON对象转化为JSON串. var people = [{ "UserNa ...

  6. 如何循序渐进向.NET架构师发展

    微软的DotNet开发绝对是属于那种入门容易提高难的技术.而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的.特别是在大型软件项目中,架构师是项目核心成员,承上启下,因此RUP ...

  7. 小程序-初次进入小程序的授权问题(授权更新后的完整步骤)button主动授权

    在此做个笔记 最开始小程序的开发时,信息授权的问题刚完善,后面腾讯就更新了新的授权方式,真心的感到心累. 后来的button,主动授权问题,时间一久就有些忘记了,最近在新开发一个小程序的拆红包活动,需 ...

  8. Java 实现随机验证码

    许多系统的注册.登录或者发布信息模块都添加的随机码功能,就是为了避免自动注册程序或者自动发布程序的使用. 验证码实际上就是随机选择一些字符以图片的形式展现在页面上,如果进行提交操作的同时需要将图片上的 ...

  9. Codeforces 620E New Year Tree(线段树+位运算)

    题目链接 New Year Tree 考虑到$ck <= 60$,那么用位运算统计颜色种数 对于每个点,重新标号并算出他对应的进和出的时间,然后区间更新+查询. 用线段树来维护. #includ ...

  10. Swoole RPC 的实现

    目录 概述 实现效果 代码 小结 概述 这是关于 Swoole 学习的第七篇文章:Swoole RPC 的实现. 第六篇:Swoole 整合成一个小框架 第五篇:Swoole 多协议 多端口 的应用 ...