项目中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
项目中git的使用的更多相关文章
- 项目中git版本控制及协作开发的常用操作(命令行,小乌龟,sourcetree)
一. git命令:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 小乌龟:htt ...
- 项目中git分支管理策略
- 项目中的Git七步精髓
项目中Git常用的七步操作: 1.git branch -a 查看所有分支 2.git checkout dev_yxq 如果冲突了,操作回退上一个版本, git status git checko ...
- 【开发工具】-- IDEA集成Git在实际项目中的运用
1.企业实际项目中Git的使用 在实际的企业项目开发中,我们一般Java的项目在公司都有自己的局域网代码仓库,仓库上存放着很多的项目.以我工作过的公司如华为的项目,一般是存放在企业内部的CodeHub ...
- [git]安装git-pylint-commit-hook提高python项目中的代码质量
什么是'git-pylint-commit-hook' 我在工作中,团队为了保证代码和提高代码的质量,要求每个项目都要求安装git-pylint-commit-hook,它是个钩子,会在你提交代码到本 ...
- 在VS项目中通过GIT生成版本号作为编译版本号
上一篇博客写了如何在 .Net 项目使用 SVN 作为版本控制工具时生成与代码对应的组件版本号.虽然在公司一直使用 SVN ,但我却对 GIT 情有独钟(可能要归功于那段捣鼓 ROM 的时光),但少有 ...
- PHP项目中composer和Git的组合使用
highlight: 在国内由于众所周知的原因,composer的package可能无法访问,解决办法是使用中国的全镜像: composer config -g repositories.packag ...
- 使用了旧版nuget的.net项目在git中的问题
曾几何时,使用nuget包管理项目依赖还需要将nuget执行程序及其配置文件包含在项目中. 如上图所示,在解决方案文件夹中,有专门为nuget程序设置的 .nuget 子目录. 当将项目纳入git管理 ...
- Git Bash+EGit在项目中配合使用最常用方法总结(根据场景使用)
最近在项目中使用Git进行代码管理,之前一直用SVN进行管理,现在谈一谈Git在项目中如何与EGit插件配合使用,高效同步开发. 使用过SVN一段时间的人,初识Git一定感觉很别扭,发现会遇到各种各样 ...
随机推荐
- 修改字段名change
ALTER TABLE tc_activity_miaosha_item CHANGE `batch_id` `movie_batch_id` INT () NOT NULL DEFAULT ' CO ...
- 【转】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 ...
- 4619 Warm up 2
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; ][]; ...
- jenkins持续集成之Global Tool Configuration的配置
Global Tool Configuration的配置过程: 1.点击系统管理2.点击 Global Tool Configuration3.必须配置: jdk git ant maven 1.点击 ...
- Transferring Data Between ASP.NET Web Pages
14 July 2012 20:24 http://www.mikesdotnetting.com/article/192/transferring-data-between-asp-net-web- ...
- 使用jQuery 取文本
<html> <head> <meta charset="UTF-8"> <title>b</title> <sc ...
- 编写高质量代码改善C#程序的157个建议——建议126:用名词和名词组给类型命名
建议126:用名词和名词组给类型命名 类型对应着现实世界中的实际对象.对象在语言中意味着它是一个名词.所以,类型也应该以名词或名词词组去命名. 类型定义了属性和行为.虽然它包含行为,但不是行为本身.所 ...
- [LeetCode题解]: Sort Colors
前言 [LeetCode 题解]系列传送门: http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 Given an a ...
- Transaction And Lock--事务中使用return会回滚事务吗?
事务中使用return会回滚事务吗? 答案:不会,如果在事务中没有显示提交或回滚事务边return,事务不会被提交或回滚,在C#中,如果没有使用连接池,则事务在连接断开和销毁时被强制回滚,如果使用连接 ...
- jquery页面加载效果
此为有时页面加载很慢时体验效果很不好而写的加载动画 CSS样式: #loading{position:%;left:%;width:124px;height:124px;overflow:hidden ...