通常一个项目的开发周期相对较长,为了便于对过程中的项目版本进行管理,以及方便多人合作进行开发,常需要使用到版本管理控制软件,本篇介绍常用的版本控制器git,记之共享。

一、git是什么?有何特点?

  用官方的话说:git是目前世界上最先进的分布式版本控制系统。

  简单来讲:git就是这样一个工具,它能记录下我们每次修改项目(即文件)的变动情况,然后可以方便的进行版本的替换或者恢复。而且其他人也可以对你的项目进行下载编辑,以及版本迭代!免去了你在本地复制多份项目的副本,然后分别进行修改、回退、合并等繁琐的管理操作。

  分布式版本控制系统git相较集中式版本控制系统(如SVN)有以下几个特点:

  1、去中心化。git没有绝对的“中央服务器”,每个电脑上都有一个完整的版本库。集中式版本控制系统中只有“中央服务器”才具有全部的版本信息。

  2、本地提交。因为git在当前电脑上默认有一个本地库,提交操作会被更新到本地库中,所以即使没有网络,也可以进行提交。诸如svn这类集中式版本控制系统,必须在本地建立svn server才能进行类似的操作。

  3、分支策略。分支策略从技术上来讲是将版本节点化了,即最终的版本状态是树状的。从结果上来讲既是弱化了分支,也是强化了分支。弱化的是分支的概念,强化的是分支的功能。分支策略使得对任何开源项目感兴趣的人都可以fork项目到本地,进行个性化开发。还可以联系原作者进行功能的合并。

二、安装git

  这里介绍的安装过程是指在windows平台上安装git的过程,并配置了github作为远程仓库。

  这里直接推荐一篇参考博客吧,比较详细:http://blog.csdn.net/zxd0328/article/details/42403749

三、git的使用(github远程管理)

分布式版本管理git的使用模式是:

  1、写代码。(git add)
  2、提交到本地版本库。(git commit)
  3、从服务器拉回服务器的当前版本库,并解决服务器版本库与本地代码的冲突。(git pull)
  4、将远程库与本地代码合并结果提交到本地版本库。(git remote add)

  5、将本地版本库推到服务器。(git push)

集中式版本管理svn 的使用模式是:
  1、写代码。
  3、从服务器拉回服务器的当前版本库,并解决服务器版本库与本地代码的冲突。
  5、将本地代码提交到服务器。

实际操作时,使用GUI输入的具体命令:

【第一次添加git项目到仓库】

  1、在github建立仓库,记住仓库路径“path”
  2、到本地项目根目录下,若没有初始化,先执行:git init命令。
  3、将本地项目添加到本地库中:git add "目标工程文件(夹),若需要全部直接输入'.'"
  4、执行提交操作,确认提交到本地库:git commit -m "注释内容"(-m 表示添加注释)
  5、将本地库与github上新建的仓库关联:git remote add origin "path"
  6、将本地库项目推送到远程github库中:git push origin master(若执行时有冲突无法成功,先执行拉取远程更新的操作:git pull origin master)

【后期更新项目内容再提交的命令】
  1、添加最近的更新:git add "目标工程文件(夹),若需要全部直接输入'.'"
  2、执行提交操作,提交到本地库:git commit -m "注释内容"
  3、将本地库项目推送到远程github库中:git push origin master

补充:
从远程获取最新的版本到本地  git fetch origin master

把远程下载下来的代码合并到本地仓库  git merge origin/master

 

本文参考信息:

https://www.zhihu.com/question/20093241/answer/13950235

https://www.zhihu.com/question/20093241/answer/14026275 

项目中git的使用的更多相关文章

  1. 项目中git版本控制及协作开发的常用操作(命令行,小乌龟,sourcetree)

    一. git命令:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 小乌龟:htt ...

  2. 项目中git分支管理策略

  3. 项目中的Git七步精髓

    项目中Git常用的七步操作: 1.git branch -a  查看所有分支 2.git checkout dev_yxq 如果冲突了,操作回退上一个版本, git status git checko ...

  4. 【开发工具】-- IDEA集成Git在实际项目中的运用

    1.企业实际项目中Git的使用 在实际的企业项目开发中,我们一般Java的项目在公司都有自己的局域网代码仓库,仓库上存放着很多的项目.以我工作过的公司如华为的项目,一般是存放在企业内部的CodeHub ...

  5. [git]安装git-pylint-commit-hook提高python项目中的代码质量

    什么是'git-pylint-commit-hook' 我在工作中,团队为了保证代码和提高代码的质量,要求每个项目都要求安装git-pylint-commit-hook,它是个钩子,会在你提交代码到本 ...

  6. 在VS项目中通过GIT生成版本号作为编译版本号

    上一篇博客写了如何在 .Net 项目使用 SVN 作为版本控制工具时生成与代码对应的组件版本号.虽然在公司一直使用 SVN ,但我却对 GIT 情有独钟(可能要归功于那段捣鼓 ROM 的时光),但少有 ...

  7. PHP项目中composer和Git的组合使用

    highlight: 在国内由于众所周知的原因,composer的package可能无法访问,解决办法是使用中国的全镜像: composer config -g repositories.packag ...

  8. 使用了旧版nuget的.net项目在git中的问题

    曾几何时,使用nuget包管理项目依赖还需要将nuget执行程序及其配置文件包含在项目中. 如上图所示,在解决方案文件夹中,有专门为nuget程序设置的 .nuget 子目录. 当将项目纳入git管理 ...

  9. Git Bash+EGit在项目中配合使用最常用方法总结(根据场景使用)

    最近在项目中使用Git进行代码管理,之前一直用SVN进行管理,现在谈一谈Git在项目中如何与EGit插件配合使用,高效同步开发. 使用过SVN一段时间的人,初识Git一定感觉很别扭,发现会遇到各种各样 ...

随机推荐

  1. 电脑破解wifi密码(至少连过1次的才可以)

    电脑破解wifi密码(至少连过1次的才可以) 连过的wifi密码忘记了怎么办? 只要你电脑连过的都能破解. cmd输入以下内容查看电脑连接过的wifi名字. netsh wlan show profi ...

  2. python 网络编程 TCP/IP socket UDP

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  3. ceph之image(转)

    原文地址:http://www.cnblogs.com/sammyliu/p/4843812.html?utm_source=tuicool&utm_medium=referral 2 卷(i ...

  4. 如何快速增加pdf书签,解除pdf限制

    一.需要的工具 福昕PDF阅读器 Foxit PDF Editor 2.2.1 build 1119 汉化版 下载地址:http://www.onlinedown.net/soft/51002.htm ...

  5. python中return的用法

    def testReturn(x): if x > 10000: return print "test return!!" #这句话永远不会得到执行 elif x > ...

  6. CALayer, CoreGraphics与CABasicAnimation介绍

    今天我们来看一下CALayer.CoreGraphics和CABasicAnimation.这些东西在处理界面绘制.动画效果上非常有用. 本篇博文就讲介绍CALayer的基本概念,使用CoreGrap ...

  7. 前端jq设置下拉框的,单选框,复选框的帖子

    $(function(){ var sex=$("#sex").val(); var marriageStatus=$("#marriageStatus").v ...

  8. Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部名称方法

    最近公司做项目,使用echarts做开发,碰到一些数据的名称很长导致图例展示的效果不是很好,自己写了一个方法,当X轴内容过长时自动隐藏,鼠标移动上去显示全部名称 样例: 图二是鼠标移动到名称显示的,怎 ...

  9. 7z文件格式及其源码的分析(二)

    这是第二篇, 第一篇在这里: 这一篇开始分析7z的源码结构. 一. 准备工作: 1. 源码下载: 可以从官方中文主页下载:http://sparanoid.com/lab/7z/. 为了方便, 这里直 ...

  10. DATATable转为json

    public static string DataTableToJson(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder() ...