项目中git的使用
通常一个项目的开发周期相对较长,为了便于对过程中的项目版本进行管理,以及方便多人合作进行开发,常需要使用到版本管理控制软件,本篇介绍常用的版本控制器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)
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
最新文章
- python3使用pyinstaller打包apscheduler出的错
- Atitit GRASP(General Responsibility Assignment Software Patterns),中文名称为“通用职责分配软件模式”
- html5多出来的字自动隐藏并显示...
- Xamarin.Android之Spinner的简单探讨
- IOS实现动画的几种简单方法
- js正则表达式 验证手机号,email地址和邮政编码
- 初始Spring
- mysql 无法启动1067
- [svn] linux 下svn服务器的搭建
- [转]window10系统安装oracle11g时遇到INS-13001环境不满足最低要求
- Java基础知识强化之集合框架笔记44:Set集合之TreeSet保证元素唯一性和自然排序的原理和图解
- birkenfeld / sphinx-contrib — Bitbucket
- java ResultSet 结果集处理 createStatement() 里参数的意义(第一弹)
- IIS Express允许外部访问(外部调试)
- JS中的DOM操作和事件
- angularJS+Ionic移动端图片上传的解决办法
- 在删除一个指针之后,一定将该指针设置成空指针(即在delete *p之后一定要加上: p=NULL)
- python接口自动化-post请求3
- python 字符串拼接
- C#正则表达式_简单梳理_Emoji表情字符处理
热门文章
- c语言条件编译#ifdef与#if defined
- 【转】C++中#if #ifdef 的作用
- 敏捷开发之XP
- soapUI的bug切换版本解决
- SQL server 累加求和
- 团体程序设计天梯赛L1-024	后天 2017-03-22 17:59 68人阅读 评论(0) 收藏
- 设计模式11---组合模式(Composite Pattern)
- Entity Framework Code First 遭遇mapping 不能识别map类问题
- 安装了IntelliJ IDEA中文输入法光标不跟随处理办法
- First App on Phonegap | Cordova