概况

CVS 及 SVN 都是集中式的版本控制系统,而 Git 是分布式版本控制系统。 集中式版本控制系统最大的毛病就是必须联网才能工作; 分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这 样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。 和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多。

基本操作

(1)安装Git

Windows平台很简单,直接在Git官网下载Windows版本的git.exe 文件,默认安装即可,注意在安装的时候确保目录名(包括父目录)不包含中文

安装完之后需要最后两步进行设置:

    

1 $ git config --global user.name "Your Name"
2 $ git config --global user.email "email@example.com"

(2)创建本地版本库

初始化版本库:

1 $ git init

蒋文件添加到本地仓库:

1 $ git add file1.txt
2 $ git add file2.txt file3.txt
3 $ git commit -m "add 3 files."

在Windows版本下写文件可直接使用vim编辑器,安装Git时候可以选择使用vim作为默认的编辑器

关于vim使用的命令再说一下吧:

    进入插入模式:i

    进入命令模式:ESC

    保存与退出:先输入英文状态下的冒号(:),再输入x,按回车即可保存退出。

在本地仓库删除文件:

直接在Windows文件管理器下删除或者使用vim命令: rm xxx.py

(3)添加远程版本库(Github)

创建SSH Key:

1 $ ssh-keygen -t rsa -C "youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到 .ssh 目录,里面有 id_rsa 和 id_rsa.pub 两个文件,这两个就是SSH Key的秘钥对, id_rsa 是私钥,不能泄露出去, id_rsa.pub 是公钥,可以放心地告诉任何人。

登陆GitHub,打开“Account settings”,找到“SSH and GPG Keys”页面:

然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴 id_rsa.pub 文件的内容:

点“Add Key”,你就应该看到已经添加的Key

关联一个远程库:

首先,登陆GitHub,然后,在右上角有一个加号找到“ new repository”按钮,创建一个新的仓库

使用命令进行关联:

1 $ git remote add origin git@github.com:path/repo-name.git

进行第一次推送:

1 git push -u origin master

之后再进行推送:

1 git push origin master

(4)从远程库进行克隆

如果是多人协作或者你在公司的电脑上要往远程仓库提交代码,回家之后也需要在自己的电脑上提交代码,你只需要在家里的那台电脑上从远程库克隆到家里的电脑上即可。

远程库克隆:

1 $ git clone git@github.com:path/repo-name.git

克隆完成之后你需要在本地仓库进行拉取同步:

1 git pull origin master

这样就可以在家里的电脑上进行写代码提交了。当然你在进行克隆远程库的时候需要注意:你必须在本地完成Git的安装及其两条重要的配置(看第一步)、初始化本地库和添加SSH Key!!!

(5)从远程库中删除文件

1 git rm xxx.py
2 git commit -m 'delete xxx file'
3 git push origin master

这样你在打开GitHub上的仓库,你就会发现xxx.py 已经被删除了。

最后,今天就更新这么多吧,其他的操作命令我以后用到在更新吧。

    

Git 学习总结的更多相关文章

  1. Git 学习看这篇就够了!

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...

  2. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  3. git学习之branch分支

    作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...

  4. git学习手册

    #git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...

  5. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  6. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  7. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

  8. Git学习(4)基本操作

    1.版本提交 首先,接着上个Git学习(3)继续 我们先修改test.txt文本内容,增加一些信息进去,然后保存: Add a new data 第一步:运行命令 git status 命令查看文件是 ...

  9. git学习(这个我没有整理,是我不断在学习的过程中,自己总结的,对象是我,不过有问题的,我们可以相互交流)

    每次git提交,都会有一个parent指针,指向上一次的commit ,   如果合并,master就和hotfix河道一起,就直接删除hotfix就OK     此时,虽然操作一样,大底层实现不一样 ...

  10. git学习笔记01-git最基本的工作原理分布式

    git学习的网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000  --廖雪峰老师 ...

随机推荐

  1. 全面认识openstack:OpenStack架构详解

    OpenStack构架知识梳理   OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟 ...

  2. 调用约定__cdecl __fastcall与__stdcall

    __cdecl __fastcall与__stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以 ...

  3. 手动撸个Android雷达图(蜘蛛网图)RadarView

    公司产品需要一个雷达图来展示各维度的比重,网上找了一波,学到不少,直接自己上手来撸一记 无图言虚空 简单分析一波,确定雷达图正几边形的--正五边形 int count=5,分为几个层数--4 层 in ...

  4. ASP.NET三剑客 HttpApplication HttpModule HttpHandler 解析

    我们都知道,ASP.Net运行时环境中处理请求是通过一系列对象来完成的,包含HttpApplication,HttpModule, HttpHandler.之所以将这三个对象称之为ASP.NET三剑客 ...

  5. JavaScript单线程和异步机制

    随着对JavaScript学习的深入和实践经验的积累,一些原理和底层的东西也开始逐渐了解.早先也看过一些关于js单线程和事件循环的文章,不过当时看的似懂非懂,只留了一个大概的印象:浏览器中的js程序时 ...

  6. [论文解读]CNN网络可视化——Visualizing and Understanding Convolutional Networks

    概述 虽然CNN深度卷积网络在图像识别等领域取得的效果显著,但是目前为止人们对于CNN为什么能取得如此好的效果却无法解释,也无法提出有效的网络提升策略.利用本文的反卷积可视化方法,作者发现了AlexN ...

  7. FTP连接池

    我们项目使用的是 Apache的(commons-net-3.2.jar) FTPClient,但是系统偶尔会有异常,趁着刚解决完,总结一下. 日志中提示是类似 java.lang.Exception ...

  8. 【建模+强连通分量】POJ1904 King's Quest

    Description 一个国王有n个王子,同时有n个女孩.每个王子都有自己喜欢的若干个女孩,现给定一个合法的完备匹配(也就是一个王子娶其中一个自己喜欢女孩),求每个王子可以选择哪些女孩可以让剩下的每 ...

  9. BZOJ_[usaco2007 Nov]relays 奶牛接力跑_离散化+倍增弗洛伊德

    BZOJ_[usaco2007 Nov]relays 奶牛接力跑_离散化+倍增弗洛伊德 Description FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们 ...

  10. C# 利用VS自带的WSDL工具生成WebService服务类

    C# 利用VS自带的WSDL工具生成WebService服务类   WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成. 添加服务引用大家基本都用过,这里就不讲 ...