通常一个项目的开发周期相对较长,为了便于对过程中的项目版本进行管理,以及方便多人合作进行开发,常需要使用到版本管理控制软件,本篇介绍常用的版本控制器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. 修改字段名change

    ALTER TABLE tc_activity_miaosha_item CHANGE `batch_id` `movie_batch_id` INT () NOT NULL DEFAULT ' CO ...

  2. 【转】Comprehensive learning path – Data Science in Python

    Journey from a Python noob to a Kaggler on Python So, you want to become a data scientist or may be ...

  3. 4619 Warm up 2

    #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; ][]; ...

  4. jenkins持续集成之Global Tool Configuration的配置

    Global Tool Configuration的配置过程: 1.点击系统管理2.点击 Global Tool Configuration3.必须配置: jdk git ant maven 1.点击 ...

  5. Transferring Data Between ASP.NET Web Pages

    14 July 2012 20:24 http://www.mikesdotnetting.com/article/192/transferring-data-between-asp-net-web- ...

  6. 使用jQuery 取文本

    <html> <head> <meta charset="UTF-8"> <title>b</title> <sc ...

  7. 编写高质量代码改善C#程序的157个建议——建议126:用名词和名词组给类型命名

    建议126:用名词和名词组给类型命名 类型对应着现实世界中的实际对象.对象在语言中意味着它是一个名词.所以,类型也应该以名词或名词词组去命名. 类型定义了属性和行为.虽然它包含行为,但不是行为本身.所 ...

  8. [LeetCode题解]: Sort Colors

    前言   [LeetCode 题解]系列传送门:  http://www.cnblogs.com/double-win/category/573499.html   1.题目描述 Given an a ...

  9. Transaction And Lock--事务中使用return会回滚事务吗?

    事务中使用return会回滚事务吗? 答案:不会,如果在事务中没有显示提交或回滚事务边return,事务不会被提交或回滚,在C#中,如果没有使用连接池,则事务在连接断开和销毁时被强制回滚,如果使用连接 ...

  10. jquery页面加载效果

    此为有时页面加载很慢时体验效果很不好而写的加载动画 CSS样式: #loading{position:%;left:%;width:124px;height:124px;overflow:hidden ...