1. 安装

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

2.配置

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

  1. #必须
  2. git config --global user.name "Your Name" #用户名
  3. git config --global user.email "email@example.com" #邮箱
  4.  
  5. #可选配置信息有
  6. branch.master.remote=origin #一般默认远程库origin
  7. branch.master.merge=refs/heads/master
  8. remote.origin.url=https://changyuan@github.com/changyuan/MyProj.git #远程的项目url
  9.  
  10. #别名配置
  11. 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" #日志
  12. 通过 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)克隆已存在的项目

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

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

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

4.创建的使用场景

  1. #常用分支
  2. 主分支:master 特征模块:feature 开发分支:dev 维护分支:hofix 发布分支:release
  3.  
  4. #初始化
  5. git init
  6.  
  7. #添加文件到缓冲区
  8. git add readme.txt
  9. git add readme.txt readme1.txt
  10. git add .
  11.  
  12. #提交
  13. git commit -m "add readme.txt"
  14.  
  15. #删除文件
  16. git rm test.txt
  17. git commit -m "remove test.txt"
  18.  
  19. #比较差异
  20. git diff readme.txt
  21.  
  22. #查看工作区和版本库里面最新版本差异
  23. git diff HEAD -- readme.txt
  24.  
  25. #丢弃工作区的修改,或者删除了(没有commit之前的,之后需要用git reset --hard version)
  26. git checkout -- readme.txt
  27.  
  28. #查看状态
  29. git status
  30. git status -s
  31.  
  32. #创建分支
  33. git branch dev
  34. #删除分支
  35. git branch -d dev
  36.  
  37. #合并分支
  38. git checkout master
  39. git merge dev
  40.  
  41. #通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
  42. #添加 --no-ff :禁用Fast forward方式
  43. git merge --no-ff -m "merge with no-ff" dev
  44.  
  45. #删除远程分支
  46. git push origin :dev
  47.  
  48. #切换分支
  49. git checkout dev
  50. #创建并且切换到dev分支
  51. git checkout -b dev
  52.  
  53. #当两个分支都修改了一个文件地方(master,dev),合并分支的时候 git merge dev 。解决冲突
  54. vim readme.txt
  55. git add readme.txt
  56. git commit -m "conflict fixed"
  57.  
  58. #写错修改,不同的场景操作区分:
  59. #场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
  60. #场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
  61. #场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,git reset --hard HEAD^,不过前提是没有推送到远程库。
  62.  
  63. #回到上个版本
  64. git reset --hred HEAD^
  65. #回到上上个版本
  66. git reset --hred HEAD^^
  67. #回到前100个版本
  68. git reset --hred HEAD~100
  69.  
  70. #通过git log看看版本号 还原到此版本
  71. git reset --hred version
  72.  
  73. #查看日志
  74. git log
  75. #简介看法
  76. git log --pretty=oneline
  77. git log --pretty=oneline --abbrev-commit
  78.  
  79. #查看未来
  80. git reflog
  81. #查看合并分支图
  82. git log --graph
  83. git log --graph --pretty=oneline --abbrev-commit
  84.  
  85. #git 可以起别名通过配置之后,如下
  86. 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"
  87. #之后可以用git lg 查看日志
  88.  
  89. #隐藏工作区,去修复bug场景
  90. git stash
  91. #查看隐藏的工作区
  92. git stash list
  93. #恢复 git stash apply;git stash drop 或者 git stash pop
  94.  
  95. #远程同步
  96.  
  97. #生成你自己的邮箱秘钥,用来ssh同步哦
  98. ssh-keygen -t rsa -C "youremail@example.com"
  99. 在/root/.ssh/中有两个秘钥 id_rsaid_rsa.pub ,之后把 id_rsa.pub 填写到 Gittub 或其他的秘钥平台 SSH keys中,
  100.  
  101. #你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,下面用于关联远程库。
  102. #如果你是 git clone git@github.com:changyuan/MyProj.git YourProject 就不用了。
  103. git remote add origin git@github.com:changyuan/MyProj.git
  104.  
  105. #查看远程库的信息
  106. git remote
  107. git remote -v
  108.  
  109. #第一次推送
  110. git push -u origin master
  111. git push origin master
  112.  
  113. #从远程获取
  114. git fetch
  115.  
  116. #推送远程分支
  117. git push -u origin master
  118. git push origin dev
  119.  
  120. #当你的小伙伴从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支。不信可以用git branch命令看看:
  121. #现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支:
  122. git pull
  123. git pull origin dev
  124.  
  125. git checkout -b dev origin/dev
  126. #本地dev分支和远程dev分支做链接
  127. git branch --set-upstream dev /origin/dev
  128.  
  129. #多人协作的工作模式通常是这样:
  130. #首先,可以试图用git push origin branch-name推送自己的修改;
  131. #如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  132. #如果合并有冲突,则解决冲突,并在本地提交;
  133. #没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
  134. #如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
  135.  
  136. #打版本控制
  137. git tag v1.0
  138. #通过-a对某个版本添加说明
  139. git tag -a v0.1 -m "version 0.1 released" 3628164
  140. #通过-s用私钥签名一个标签
  141. git tag -s v0.2 -m "signed version 0.2 released" fec145a
  142. #查看所有
  143. git tag
  144. #显示某个版本详细信息
  145. git show v1.0
  146. #删除本地tag
  147. git tag -d v1.0
  148.  
  149. #推送标记
  150. git push origin v1.0
  151. #推送本地所有的tag
  152. git push origin --tags
  153. #删除远程tag
  154. git push origin :v1.0
  155. git push origin :refs/tags/v1.0
  156.  
  157. 其他工具:
  158. 要方便管理公钥,用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. 【英语】Bingo口语笔记(7) - Break系列

  2. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome

    1.错误信息:登录系统后,屏幕弹出几个错误对话框,无菜单.无按钮 GConf error: Failed to contact configuration server; some possible ...

  3. js+css实现带缓冲效果右键弹出菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. loadrunner下检查点乱码情况处理

    对于很多用过LR的人来说,乱码一直是很纠结的事情,尤其是对新手来说.网上给的解决方法是在录制的时候勾选UTF-8选项,但是似乎并没有解决. 对于用户名为中文或者检查点为中文的情况,我们又该如何去处理呢 ...

  5. 建立连接ALM的xml config文件

    我就不贴所有的了,如果有谁想要所有源码和应用程序,可以密我 这里我贴下如何在第一次运行的时候自动建立一个ALMConfig的xml文件 private static void CreateALMCon ...

  6. [转]linux之nl命令

    转自:http://www.cnblogs.com/peida/archive/2012/11/01/2749048.html nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容 ...

  7. HTML5_画布_太阳系

    HTML5_画布_太阳系 一.canvas属性和方法的简单介绍①对于不支持canvas标签的浏览器需要显示"不支持canvas"使用IE11浏览器的开发人员工具,仿真:文档模式=8 ...

  8. javascript --- 面向对象 --- 封装

    javascript中有原型对象和实例对象 如有疑问请参考:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_enca ...

  9. VS2013中修改.dll工程项目的.lib和.dll的输出路径

    一个dll工程,生成的两个东西是我们需要的:.lib和.dll,在实际开发过程中我们往往希望这两个东西直接输出到特定文件夹,对于这两个的修改: 设置好之后,对于调用该dll的exe工程,将exe的输出 ...

  10. 机器学习中的算法-决策树模型组合之随机森林与GBDT

    机器学习中的算法(1)-决策树模型组合之随机森林与GBDT 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使 ...