了解git和svn很久了,但是一直没有拿来做过版本控制管理,虽然svn有用到过,但是觉得还是运用git的比较多吧,尤其github。

Git术语                                                                    

 
术语 定义
仓库 一个仓库包括了所有的版本信息、所有的分支和标记信息.
Repository 在Git中仓库的每份拷贝都是完整的。仓库让你可以从中
  取得你的工作副本。
  一个分支意味着一个独立的、拥有自己历史信息的代码线
分支 (code line)。你可以从已有的代码中生成一个新的分支
Branches ,这个分支与剩余的分支完全独立。默认的分支往往是叫
  master。用户可以选择一个分支,选择一个分支叫做
  checkout.
标记 一个标记指的是某个分支某个特定时间点的状态。通过标
Tags 记,可以很方便的切换到标记时的状态,例如2014年8月25
  号在testing分支上的代码状态
提交 提交代码后,仓库会创建一个新的版本。这个版本可以在
Commit 后续被重新获得。每次提交都包括作者和提交者,作者和
  提交者可以是不同的人
URL URl用来标识一个仓库的位置
  用来表示代码的一个版本状态。Git通过用SHA1 hash算法
修订 表示的id来标识不同的版本。每一个 SHA1 id都是160位长
Revision ,16进制标识的字符串.最新的版本可以通过HEAD来获取.
  之前的版本可以通过"HEAD~1"来获取,以此类推。

索引                                                                         

Git 需要将代码的变化显示的与下一次提交进行关联。举个例子,如果你对一个文件继续了修改,然后想将这些修改提交到下一次提交中,你必须将这个文件提交到索引中,通过git add file命令。这样索引可以保存所有变化的快照。

新增的文件总是要显示的添加到索引中来。对于那些之前已经提交过的文件,可以在commit命令中使用-a 选项达到提交到索引的目的。

Git安装                                                                     

在Ubuntu上,可以通过apt来安装git命令行工具

sudo apt-get install git-core

Git配置                                                                      

你可以在.gitconfig文件中防止git的全局配置。文件位于用户的home目录。上述已经提到每次提交都会保存作者和提交者的信息,这些信息都可以保存在全局配置中。后续将会介绍配置用户信息、高亮显示和忽略特定的文件。

  • 用户信息

通过如下命令来配置用户名和Email

git config --global user.name "Example Surname"

git config --global user.email "your.email@gmail.com"
# Set default so that all changes are always pushed to the repository
git config --global push.default "matching"

获取Git配置信息,执行以下命令:

git config --list
  • 高亮显示
git config --global color.status auto
git config --global color.branch auto
  • 忽略特定的文件

可以配置Git忽略特定的文件或者是文件夹。这些配置都放在.gitignore文件中。这个文件可以存在于不同的文件夹中,可以包含不同的文件匹配模式。为了让Git忽略bin文件夹,在主目录下放置.gitignore文件,其中内容为bin。

同时Git也提供了全局的配置,core.excludesfile。

  • 使用.gitkeep来追踪空的文件夹

Git会忽略空的文件夹。如果你想版本控制包括空文件夹,根据惯例会在空文件夹下放置.gitkeep文件。其实对文件名没有特定的要求。一旦一个空文件夹下有文件后,这个文件夹就会在版本控制范围内。

github操作                                                                  

  • 获得密钥
ssh-keygen -t rsa -C "xxx@mail.com"
  • 登陆github系统

点击右上角的 Account Settings--->SSH Public keys ---> add another public keys

把你本地生成的密钥(~/.ssh/id_rsa.pub文件中)复制到里面(key文本框中), 点击 add key 就ok了

  • 接着打开git ,测试连接是否成功
ssh -T git@github.com 

如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了

  • github上创建立一个项目

击页面右下角“New Repository”

填写项目信息,点击“Create Repository” ; 现在完成了一个项目在github上的创建。

  • 克隆github上新创建的项目
git clone git@github.com:xxxx/xxxxx-demo.git
//git clone git@github.com:用户名/项目名字.git
  • 提交修改
git add .
git commit –m ”new files”
git push
#或者
git remote add origin git@github.com:xxxx/xxxx-demo.git
  • 更新版本
git fetch origin
//取得远程更新,这里可以看做是准备要取了
git merge origin/master
//把更新的内容合并到本地分支/master
  • 简单常用命令
git remote -v
//查看你当前项目远程连接的是哪个仓库地址。
git status
//查看当前项目下所有文的状态,
  • 远程项目与本地项目联系起来
git remote add origin git@github.com:xxxx/xxxx-demo.git

我是天王盖地虎的分割线                                              

git/github运用的更多相关文章

  1. git &github 快速入门

    本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...

  2. git+github上传与管理

    1.首先下载并安装git,方便管理github上的代码 https://git-scm.com/downloads 2.然后点击安装好的git bash(注册好自己的github) git confi ...

  3. git/github学习笔记

    郑重提示,本文来自这里,如果喜欢,请关注原作者. 1. git 版本控制系统 相比CVS\SVN优势: - 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块 ...

  4. Git/GitHub 初用体验与总结

    Git,一个神奇而又陌生的东西,居然到现在才去了解它,就像有一位仁兄说的,现在不会用Git真的都不好意思说自己搞IT的. 简单的讲,这Git是目前最先进的分布式版本控制系统,和他相对应的就是众所周知的 ...

  5. git github简单知识

    Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...

  6. Git/Github + TortoiseGit 使用教程

    前言 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 在github上有很多优秀的项目,一个伟大的学习宝库.本文分享使用tortoisegit对github/ ...

  7. Git+GitHub 使用小结

    1.Git安装完成后需要做的配置            $ git config --global user.name "Your Name"        $ git confi ...

  8. Git & Github 一页简明笔记

    由于小组工程需要使用git&github的版本控制来协作,但我对其使用并不熟悉,特此写篇一页的笔记放在手边,备随时查阅. 相信这种一页的简明笔记,对大家也是有帮助的.我的笔记总结自廖雪峰的Gi ...

  9. git/github初级运用自如(zz)

    ----//git/github环境配置 一 .  github上创建立一个项目 用户登录后系统,在github首页,点击页面右下角“New Repository” 填写项目信息: project n ...

  10. git/github 使用

    原文:http://www.cnblogs.com/fnng/archive/2011/08/25/2153807.html git/github学习笔记 Posted on 2011-08-25 2 ...

随机推荐

  1. Windows 下安装 tensorflow & keras & opencv 的避坑指南!

    安装 Anaconda3 关键的一步: conda update pip 下面再去安装各种你需要的包,一般不会再报错. pip install -U tensorflow pip install -U ...

  2. JavaScript三种数据类型之间的互转

    一:number<===>string  数字类型和字符串类型之间的互相转换 number===>string 数字转字符串有三种方式: 1.在数字后面 +“ ”; 2.利用字符串的 ...

  3. HTML中的Div Span label的区别

    div与span 大家在初学div+css布局时,有很多困惑,在div与span的使用过程没觉得有一定的”章法”,觉得两个区别不大,在w3c的关于div和span的定义:div作为分割文档结构自然使它 ...

  4. MySQL 5.7 安装完成后,首次登陆的几个问题

    Server:CentOS 7.0 MySQL : 5.7.20 MySQL Community Server (GPL) 1.首次登陆后修改密码: 根据安装时的选择不同,有mysqld_safe用m ...

  5. MySQL 之 多表查询

    一.多表联合查询 #创建部门CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dname V ...

  6. MySQL笔记(四)之内建函数

    AVG() 函数 AVG 函数返回数值列的平均值.NULL 值不包括在计算中. 语法: SELECT AVG(列) FROM 表: COUNT() 函数 COUNT() 函数返回匹配指定条件的行数. ...

  7. luoguP4284 [SHOI2014]概率充电器 概率期望树形DP

    这是一道告诉我概率没有想象中那么难的题..... 首先,用期望的线性性质,那么答案为所有点有电的概率和 发现一个点的有电的概率来源形成了一个"或"关系,在概率中,这并不好计算... ...

  8. Android之Fragment优点

    什么是Fragment 自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片.片段.其目的是为了解决不同屏幕分辩率的动态和灵活UI设计.大屏幕如平板小屏幕如手机,平 ...

  9. AIDL原理之 Framewok层实现

    AIDLFramework层的架构,如下图: 换而言之,Android就是在传统的C/S架构中加入了一层,实现IPC.图中表明,AIDL类似COM的Proxy/Stub架构.不过是现在android自 ...

  10. Request Response 跳转页面的理解

    1.response 跳转页面 private void writeContent(String content) { HttpServletResponse response = ((Servlet ...