了解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. Qt中translate、tr关系 与中文问题

    原文请看:http://hi.baidu.com/dbzhang800/item/d850488767bdc3cdee083d43 题外话:何时使用 tr ? 在论坛中漂,经常遇到有人遇到tr相关的问 ...

  2. PHP 中如何正确统计中文字数

    PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了 strlen,mb_strlen,mb_strwidth 这个三个函数去测 ...

  3. cogs——2098. Asm.Def的病毒

    2098. Asm.Def的病毒 ★☆   输入文件:asm_virus.in   输出文件:asm_virus.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] “这就 ...

  4. shell中的cat和文件分界符(<<EOF) (转)

    原文地址: http://blog.csdn.net/mosesmo1989/article/details/51123257 在shell中,文件分界符(通常写成EOF,你也可以写成FOE或者其他任 ...

  5. margin padding 图

  6. Hibernate 多对一注解

    在前面学习了基于配置文件的多对一关系,而在实际的开发过程中我们更多的是使用注解去开发.在这里来简单学习一下基于注解的多对一关系. 1. 创建所需要的实体 注:这里需要特别注意的是,如果使用的是mysq ...

  7. 「Luogu4321」随机游走

    「Luogu4321」随机游走 题目描述 有一张 \(n\) 个点 \(m\) 条边的无向图,\(Q\) 组询问,每次询问给出一个出发点和一个点集 \(S\) ,求从出发点出发随机游走走遍这个点集的期 ...

  8. 【费用流】BZOJ1927-[Sdoi2010]星际竞速

    [题目大意] 有一些点,它们之间存在一些有向边(由编号小的到编号大的),从一点到另一点消耗时间为边长.也可以消耗Ti时间直接抵达任意一个点.问所有点都走一遍最少需要多少时间? [思路] ①将每个点i拆 ...

  9. bzoj1003 trans DP

    最初的印象是网络流之类的东西,但好像不是. 想了一下,没什么思路,就网上看了一下,有人说是DP,然后就自己想DP的做法,最开始想的状态是:dp[n][s] 第n天走s这条路,前n天最小的代价,但发现路 ...

  10. Codeforces Beta Round #9 (Div. 2 Only) B. Running Student 水题

    B. Running Student 题目连接: http://www.codeforces.com/contest/9/problem/B Description And again a misfo ...