最近看到这篇文章,简洁易懂,特摘抄至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. SLF4J、Log4J使用记录

    程序中一直在用log4j,之前都没了解过,只知道是打印日志信息的.最近独立新建了几个开发工程,发现slf4j老有冲突,开始关注起来,我用log4j打印日志,与slf4j有毛关系,怎么老冲突呢.网上找了 ...

  2. Jdk升级到11引起的问题:程序包javax.xml.bind.annotation不存在

    Jdk12 都发布了, 我也下载一个玩一玩吧.刚准备要下载,发现之前已经下载了一个11, 那就11 吧,也不用太新了. 安装了jdk11,习惯性的设置了一下环境变量: JAVA_HOME=D:\too ...

  3. tp5.1 手动引入外部类库

    use think\facade\Env; require_once Env::get('ROOT_PATH')."extend/PHPExcel/Classes/PHPExcel.php& ...

  4. Webpack热加载和React(其中有关于include和exclude的路径问题)

    看了几个React配合webpack的教程,大部分都因为版本问题过时了.终于找到了一个不错的教程.记录下其中的知识点. 首先万分感谢这个教程的制作者.少走了许多弯路,正在学习webpack的小伙伴可以 ...

  5. 关于MySQL AUDIT(审计)那点事

    2017年06月02日MySQL社区版本最新版为MySQL_5.7.18,但是该版本不带AUDIT功能(MySQL Enterprise Edition自带AUDIT功能),因此需要加载plugin( ...

  6. jmeter使用BeanShell Sampler测试自己写的java接口(一)

    上次直接使用jmeter里面的FTPsampler没有连接成功 现在想着自己写java代码,通过jmeter进行调用进行连接测试实现并发 代码引文: http://www.cnblogs.com/ch ...

  7. Caused by: MetaException(message:Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded or corrupt)

    解决方案汇总: ()删除HDFS上的hive数据与hive数据库 hadoop fs -rm -r -f /tmp/hive hadoop fs -rm -r -f /user/hive ()删除My ...

  8. svn报错cleanup failed–previous operation has not finished; run cleanup if it was interrupte...

    今天在svn提交的时候它卡顿了一下,我以为已经提交完了,就按了一下,结果就再也恢复不了,也继续不了了... 报错 cleanup failed–previous operation has not f ...

  9. UiPath Studio 快捷键

    掌握快捷键可以事半功倍,写一下比较重要的 1. Ctrl + J  插入代码片段 2. Ctrl + K  快速建变量 3. Ctrl + L  打开日志文件夹 4. Ctrl + F4  关闭当前机 ...

  10. 微信支付配置参数:支付授权目录、回调支付URL

    一.开通微信支付的首要条件是:认证服务号或政府媒体类认证订阅号(一般认证订阅号无法申请微信支付) 二.微信支付分为老版支付和新版支付,除了较早期申请的用户为老版支付,现均为新版微信支付. 三.公众平台 ...