最近看到这篇文章,简洁易懂,特摘抄至https://www.cnblogs.com/bgwhite/p/9403233.html 供大家提供参考。

git可以说是世界上最先进的版本控制系统,大多语句的执行为linux语句,也不难怪,,起初他就是为了帮助开发linux开发内核而使用。
我们先来说git的主要功能,知道了这个,我们也就知道了为什么我们进行项目开发多会选择这个进行项目的开发
  • 从一般开发者的角度来看,git有以下功能:
    • 从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
    • 在自己的机器上根据不同的开发目的,创建分支,修改代码。
    • 在单机上自己创建的分支上提交代码。
    • 在单机上合并分支。
    • 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
    • 生成补丁(patch),把补丁发送给主开发者。
    • 看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
    • 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
 
  • 从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
    • 查看邮件或者通过其它方式查看一般开发者的提交状态。
    • 打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
    • 向公共服务器提交结果,然后通知所有开发人员。
 
git的优缺点:
  • 优点:
    • 适合分布式开发,强调个体。
    • 公共服务器压力和数据量都不会太大。
    • 速度快、灵活。
    • 任意两个开发者之间可以很容易的解决冲突。
    • 离线工作。
  • 缺点:
    • 资料少(起码中文资料很少)。
    • 学习周期相对而言比较长。
    • 不符合常规思维。
    • 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
注:git的详细使用请查看上面文档git的使用

使用版本控制管理工具git来管理项目

一、 安装

Git(git_for_windows.xp510.com.rar)

二、 使用

a) 进入到 git bash(命令行工具)

b) 初始化user.name,user.email

$ git config  --global user.name "AmbitionG"

$ git config  --global user.email "2438387860@qq.com"

三、 开发项目

c) 进入HBulid新建项目(如:e:\web20170210),把git bash工具的当前路径转入到你的项目目录

命令:
cd e:\healthy

四、 给项目配置git仓库

d) 初始化仓库:git init

i. 在git bash里,转换路径: cd e:/ web20170210

ii. 输入 git init。就会在e:/ web20170210下产生目录 .git(隐藏目录),表示e:\ web20170210里的项目代码(即所有的文件)会使用git进行版本管理。

注意:在初始化仓库后 尽量新建一个master的分支yourname  然后所有的剩余操作在yourname中执行

在git bash里输入$ git checkout -b -yourname

五、 把开发的代码放在本地版本库

e) Git add

假设在项目下有个index.html文件。在 git Bash,输入:git add index.html

f)  Git commit(提交)

i. 在git Bash里输入:$ git commit -m "这是新建的index.html"。其中"这是新建的index.html"只是说明或者说解释。

理解:add和commit;

Add:添加;相当于打了标记,告诉git,下次提交时把该文件进行提交。

Commit:提交。把打过标记的(即用add进行添加的文件),一次性进行提交。

g)

六、 恢复(跳转)到某个版本的文件

1)、查看所有的版本的命令

git  log

2)、要恢复到上一个版本

git reset  --hard   HEAD^

3)、恢复到指定版本

git  reset  --hard  版本序列号

七、 把本地版本库的代码放在远程库

1. 进入github官网(https://github.com/

2. 注册账号

3. 登录(Sign in)

 

4. 创建本地与远程的连接(用ssh)(搭桥)

1) 在本地创建ssh key(公钥)

创建SSH Key: $ ssh-keygen -t rsa -C 2438387860@qq.com你需要把邮件地址换成你⾃⼰的邮件地址,然后⼀路回车,使⽤默认值即可.

在⽤户主目录下(/c/Users/Administrator/.ssh/id_rsa)),看看有没有.ssh目录,如果有,再看看这个目录下 有没有id_rsa和id_rsa.pub这两个⽂件,如果已经有了,可直接 跳到下⼀步。

2) 在远程创建ssh key

登陆GitHub,打开“Account settings”,“SSH Keys”⾯: 然后,点“Add SSH Key”,填上任意Title,在Key⽂本框⾥粘贴id_rsa.pub⽂件的内容:

点击“add SSH Key”

5. 创建远程仓库:

1) 在页面中找 “new repository”

2) 输入仓库名

点击“create repository”

3) 添加远程库的命令(可以认为是把远程库和地址进行对应)

在git bash里输入以下命令:(切记:把git bash的当前路径转到你的项目路径(带有.git文件夹)下)

git remote add origin  git@github.com:tianwater/bigMi.git

origin:是远程的库名(可以认为是别名,可以更改);

git@github.com:tianwater/bigMi.git:是上一个截图中的ssh地址;

6. 把本地库的内容推送到远程库(确保本地执行过git add和git commit)

git push -u origin master

注意:origin是远程库名,根据实际情况进行更改

注意:确保本地执行过git add和git commit,即,本地版本库要有的版本。

八、 克隆远程库

 

前面六步中讲了先有本地库,后有远程库的时候,如何关联远程库。 现在,假设我们从零开发,那么最好的⽅式是先创建远程库,然后,从远程库克隆到本地。

1. ⾸先,登陆GitHub,创建⼀个新的仓库,名字叫mytaobao:

注意:勾选Initialize this repository with a README,这样GitHub会⾃动为我们创建⼀个 README.md⽂件。创建完毕后,可以看到README.md⽂件:

2. git clone克隆⼀个本地库

$ git clone git@github.com:tianwater/mytaobao.git

这样就会在当前目录下创建一个本地的git版本库。

注意:把git bash 的当前路径要转到你的项目目录下

 

一、 总结:

以后,每天做的git相关工作

1)、git add *

2)、git commit –m “版本描述”

3)、git push -u origin master

分布式版本控制系统git的更多相关文章

  1. [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

    [.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git 本篇导读: 接上两篇,继续Git之旅 分布式版本控制系统 ...

  2. [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

    [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...

  3. [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

    [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...

  4. 分布式版本控制系统 Git 的安装与使用

    作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 远端库地址:https://github.com/CJL29 ...

  5. 分布式版本控制系统Git的安装与使用

    分布式版本控制系统Git的安装与使用 作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 我的远端仓库地址是:htt ...

  6. 【软件工程】分布式版本控制系统Git的安装与使用

    作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 远端库地址:https://github.com/Richa ...

  7. 分布式版本控制系统Git的安装与使用(作业2)

    (本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103) 分布式版本控制系统Git的安装与使用 一.安装Git b ...

  8. 分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境(服务器端及客户端)(转)

    近期想改公司内部的源码管控从TFS为git,发现yubinfeng大侠有关git的超详细大作,现将其转载并记录下,以防忘记,其原博客中有更加详细的git及.net开发相关内容.原文地址:http:// ...

  9. 分布式版本控制系统 Git 教程

    简介 Git 是什么? Git 是一个开源的分布式版本控制系统. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 什么是分布式版本控制系统? 介绍分布 ...

  10. 分布式版本控制系统-git

    Git是目前世界上最先进的分布式版本控制系统 SVN是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?这个可以找度娘...... 1.安装Git yum i ...

随机推荐

  1. 利用CSS制作脸书

    很多网站都支持图片上的头像框识别,鼠标在头像框处,会提示一些人物信息. 这次就利用CSS实现这样一个功能: div处主要包括两部分,一部分是图片:另一部分是链接以及脸框 <div class=& ...

  2. springboot 简单自定义starter - beetl

    使用idea新建springboot项目beetl-spring-boot-starter 首先添加pom依赖 packaging要设置为jar不能设置为pom<packaging>jar ...

  3. 关于VS2017提示I/O文件操作函数需要加上_s的解决办法

    最近不论是在写网络编程还是在写小项目时候,都会提示让我用加个_s的函数........ 其实加上_s这个函数是为了确保函数的安全性,确保不会有内存不够或者溢出的情况.但是每次都需要重新看一下_s函数的 ...

  4. Luogu P2973 [USACO10HOL]赶小猪Driving Out the Piggi 后效性DP

    有后效性的DP:$f[u]$表示到$u$的期望次数,$f[u]=\Sigma_{(u,v)} (1-\frac{p}{q})*f[v]*deg[v]$,最后答案就是$f[u]*p/q$ 刚开始$f[1 ...

  5. linux中的三种时间

    mtime [修改时间] 文件/目录的修改时间 ctime  [属性修改时间] 文件目录的属性的修改时间 atime  [访问时间]文件/目录的访问时间 stat 123.txt   File: `1 ...

  6. centos7虚拟机安装

    Centos7 第1章 CENTOS 7 简介 1.1 centos的演变 启动流程sysvinit 串行启动:一次一个, 一个一个启动 并行启动:全部的一起启动 init优点 运行非常良好.主要依赖 ...

  7. 【转】《Unity Shader入门精要》冯乐乐著 书中彩图

    为方便个人手机学习时候查阅,从网上转来这些彩图. 如属过当行为,联系本人删除. 勘错表 http://candycat1992.github.io/unity_shaders_book/unity_s ...

  8. Python踩坑之旅其一杀不死的Shell子进程

    目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 坑后扩展 1.4.1 扩展知识 1.4.1 技术关键字 1.5 填坑总结 1.1 踩坑案例 踩坑的程序是个常驻的Agent类管理进程 ...

  9. matlab 打不开excel文件

    方法论 excel的后缀为.xls, matlab是无法识别的, 需要将其另存为.xlsx文件格式 打开excel, 点击save as, 选中保存的文件格式是.xlsx即可

  10. js中的位运算符 ,按位操作符

    按位操作符(Bitwise operators) 将其操作数(operands)当作32位的比特序列(由0和1组成),而不是十进制.十六进制或八进制数值.例如,十进制数9,用二进制表示则为1001.按 ...