1. 安装

yum install git  #自动安装依赖 centos
sudo apt-get install git #ubutu
http://msysgit.github.io/ #window下载安装即可

2.配置

安装完成之后,设置配置用户:

#必须
git config --global user.name "Your Name" #用户名
git config --global user.email "email@example.com" #邮箱 #可选配置信息有
branch.master.remote=origin #一般默认远程库origin
branch.master.merge=refs/heads/master
remote.origin.url=https://changyuan@github.com/changyuan/MyProj.git #远程的项目url #别名配置
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Crese t %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" #日志
通过 git config --list 可以查看多有的配置信息,git config --global "object" "values" 配置所有的全局配置

  

远程同步时候需要(git clone 到自己的库中是不需要的):

centos:  ssh-keygen -t rsa -C "youremail@example.com"

window:Git Bash打开,输入 ssh-keygen ,按enter,一直按enter 直到出现下面,直至在.ssh中生成id_rsa.pub文件,复制其中的秘钥到你需要的平台(gitthub),如下图:

3.创建版本库

1)克隆已存在的项目

git clone git@github.com:changyuan/MyProj.git

 2) 在本地初始化项目,新建文件夹,在里面

git init #生成.git目录,里面包含git的设置信息,比如:.gitingore是忽略版本控制的列表

4.创建的使用场景

#常用分支
主分支:master 特征模块:feature 开发分支:dev 维护分支:hofix 发布分支:release #初始化
git init #添加文件到缓冲区
git add readme.txt
git add readme.txt readme1.txt
git add . #提交
git commit -m "add readme.txt" #删除文件
git rm test.txt
git commit -m "remove test.txt" #比较差异
git diff readme.txt #查看工作区和版本库里面最新版本差异
git diff HEAD -- readme.txt #丢弃工作区的修改,或者删除了(没有commit之前的,之后需要用git reset --hard version)
git checkout -- readme.txt #查看状态
git status
git status -s #创建分支
git branch dev
#删除分支
git branch -d dev #合并分支
git checkout master
git merge dev #通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
#添加 --no-ff :禁用Fast forward方式
git merge --no-ff -m "merge with no-ff" dev #删除远程分支
git push origin :dev #切换分支
git checkout dev
#创建并且切换到dev分支
git checkout -b dev #当两个分支都修改了一个文件地方(master,dev),合并分支的时候 git merge dev 。解决冲突
vim readme.txt
git add readme.txt
git commit -m "conflict fixed" #写错修改,不同的场景操作区分:
#场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
#场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
#场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,git reset --hard HEAD^,不过前提是没有推送到远程库。 #回到上个版本
git reset --hred HEAD^
#回到上上个版本
git reset --hred HEAD^^
#回到前100个版本
git reset --hred HEAD~100 #通过git log看看版本号 还原到此版本
git reset --hred version #查看日志
git log
#简介看法
git log --pretty=oneline
git log --pretty=oneline --abbrev-commit #查看未来
git reflog
#查看合并分支图
git log --graph
git log --graph --pretty=oneline --abbrev-commit #git 可以起别名通过配置之后,如下
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Crese t %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
#之后可以用git lg 查看日志 #隐藏工作区,去修复bug场景
git stash
#查看隐藏的工作区
git stash list
#恢复 git stash apply;git stash drop 或者 git stash pop #远程同步 #生成你自己的邮箱秘钥,用来ssh同步哦
ssh-keygen -t rsa -C "youremail@example.com"
在/root/.ssh/中有两个秘钥 id_rsa和id_rsa.pub ,之后把 id_rsa.pub 填写到 Gittub 或其他的秘钥平台 SSH keys中, #你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,下面用于关联远程库。
#如果你是 git clone git@github.com:changyuan/MyProj.git YourProject 就不用了。
git remote add origin git@github.com:changyuan/MyProj.git #查看远程库的信息
git remote
git remote -v #第一次推送
git push -u origin master
git push origin master #从远程获取
git fetch #推送远程分支
git push -u origin master
git push origin dev #当你的小伙伴从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支。不信可以用git branch命令看看:
#现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支:
git pull
git pull origin dev git checkout -b dev origin/dev
#本地dev分支和远程dev分支做链接
git branch --set-upstream dev /origin/dev #多人协作的工作模式通常是这样:
#首先,可以试图用git push origin branch-name推送自己的修改;
#如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
#如果合并有冲突,则解决冲突,并在本地提交;
#没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
#如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。 #打版本控制
git tag v1.0
#通过-a对某个版本添加说明
git tag -a v0.1 -m "version 0.1 released" 3628164
#通过-s用私钥签名一个标签
git tag -s v0.2 -m "signed version 0.2 released" fec145a
#查看所有
git tag
#显示某个版本详细信息
git show v1.0
#删除本地tag
git tag -d v1.0 #推送标记
git push origin v1.0
#推送本地所有的tag
git push origin --tags
#删除远程tag
git push origin :v1.0
git push origin :refs/tags/v1.0 其他工具:
要方便管理公钥,用Gitosis;要像SVN那样变态地控制权限,用Gitolite。

  

git 安装与使用场景的更多相关文章

  1. Git 基础 —— 常见使用场景

    Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 突然插入 Bugifx 工作, ...

  2. CentOS 7 Git安装

    Git安装 yum -y install git 安装后,在srv目录下建立Git的目录. 初始化一个git空仓库 git init --bare project.git 增加用于访问git仓库的用户 ...

  3. Git安装

    前面说了很多废话,说得再好,还不如实践一次.要想使用Git,首先得安装.这次实验主要是实践怎样安装Git. 安装与检查是否安装成功 1. 在Linux(Ubuntu)上安装 上篇的Git简介已经介绍过 ...

  4. Git安装与配置

    一.简介 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

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

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

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

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

  7. Git 安装

    安装参考资料: http://lzw.me/a/msysgit-tortoisegit-win-git.html http://blog.csdn.net/qwiwuqo/article/detail ...

  8. 转 git安装配置

    Win7上Git安装及配置过程 一.安装说明 1.Git在windows平台上安装说明. Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 ...

  9. git学习1:git安装和配置

    Git是什么?世界上最先进的分布式版本控制系统,记录了一个文本文件的每次一修改信息,比如,一篇散文,从草稿到最终出版,经历过无数次修改,修改了标点符号形成一个版本,老师帮助修改形成一个版本,同学帮忙修 ...

随机推荐

  1. linux CPU loading calculate

    http://hi.baidu.com/lionpanther/item/e908c37abdaf1c3f71442380 #include <stdio.h>#include <s ...

  2. php socket编程参考资料

    WebSocket API https://msdn.microsoft.com/library/hh673567 http://www.jnecw.com/p/1523 经朋友推荐去一家手游公司面试 ...

  3. Python [Leetcode 342]Power of Four

    题目描述: Given an integer (signed 32 bits), write a function to check whether it is a power of 4. Examp ...

  4. 【自动化测试】Selenium 2.0 学习笔记

    定位下拉框元素,要记得先把鼠标挪过去再进行定位. 定位元素用的是find_element_by.... python的模块化还要去思考下 unittest框架使用的时候,py文件命名不要用unitte ...

  5. where group by联合使用

    where group by联合使用   select 列a,聚合函数 from 表名 where 过滤条件 group by 列a having 过滤条件 group by 字句也和where条件语 ...

  6. jquery之on()绑定事件和off()解除绑定事件

    off()函数用于移除元素上绑定的一个或多个事件的事件处理函数. off()函数主要用于解除由on()函数绑定的事件处理函数. 该函数属于jQuery对象(实例). 语法 jQuery 1.7 新增该 ...

  7. 解决 winform 界面对不齐 z

    一个winform的程序,本机上界面对得很齐,到一到客户的机器上就惨不忍睹,一番研究后搞定: 1. AutoScaleMode = None 2. BackgroundImageLayout = No ...

  8. Delphi中实现MDI子窗体(转)

        Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容  ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一 ...

  9. Learning Vector

    题意: 给出n组x,y增量,从(0,0)开始以x,y坐标增加后等到的终点坐标,可以构成一个面积,再以这个终点为起点再增加,以此类推,使用增量顺序不同,得到的面积不,求用k组增量能得到的最大的面积. 分 ...

  10. Linux securecrt破解

    其实,以前接触过破解的东西,但是很多东西早就忘记了,何况是在Linux环境下. 结果我常识更改时间,哦,不是更改日期,往后推4天,结果显示了26 days remaining. 所以完全可以更改日期来 ...