谈谈分布式版本管理工具Git
一.主流的版本管理工具
目前在企业中比较主流的版本管理工具有:GIT、SVN、CVS等等。
二.什么是Git?
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
三.Git与SVN的的主要区别?

Git是分布式版本控制系统,那么它不但和SVN一样有中央服务器,而且每个人的电脑也是一个完整的版本库,这样,工作的时候联网就不是必须的了,因为版本可以先在自己的电脑上进行管理。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给中央服务器,然后再重新去拉下代码,就可以互相看到对方的修改了。
四.如何安装Git?


sudo yum -y install git

五.Git的基本操作

git init
git add fileName1,fileName2...
git add . (添加所有已经修改的文件到暂存区)
git commit -m 'commit description'
git status
git diff fileName
git log
git reset --hard commit_version
git reset --hard HEAD^
git reflog
git branch
git branch -a
git checkout branchName
git checkout -b newBranchName
git merge branchName
git branch -D branchName
git branch -r -d origin/branch-name (只删除远程仓库test分支,本地保留)
git push origin :branch-name
git remote add origin remote_url
git push -u origin master (-u是把本地分支和远程分支做关联,第一次提交代码到新分支的时候需要,以后只需要使用git push就可以)
git clone remote_url
git stash
git stash apply
git stash pop
git remote show origin
git remote -v
git pull
27. 设置全局别名
git config --global alias.ac '!git add -A && git commit -m'
这样我们就可以直接使用:git ac 'why you modify' 就可以完成git add和git commit -m 操作
28. 删除文件
git rm file-name
29. 删除暂存区或分支上的文件,但本地工作区间保留,只是不希望这个文件被版本控制
git rm --cache file-name
30. 从远程获取最新的版本信息到本地有以下两个命令:
git fetch origin master
git pull origin master
上面的命令相当于:
git fetch origin master (从远程的origin的master主分支下载最新的版本到origin/master分支上)
git log -p master..origin/master (比较本地的master分支和origin/master分支的差别)
git merge origin/master (将远程的最新版本合并到本地)
还相当于如下:
git fetch origin master:tmp (从远程获取最新的版本到本地tmp分支)
git diff tmp (比较不同)
git merge tmp (进行合并)
现实情况下git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并.
31. rebase指定分支(把指定分支上的新提交在当前分支做一次)
git fetch
git rebase origin/branch-name
解决冲突
git add .
git rebase --continue
git push
高效撤销各个阶段的代码的方法请移步:如何高效撤销Git管理的文件在各种状态下的更改
六.总结
谈谈分布式版本管理工具Git的更多相关文章
- 分布式版本管理工具 git常用命令
Git global setup git config --global user.name "joey" git config --global user.email " ...
- 版本管理工具Git(1)带你认识git
简介 本篇将带领大家认识,git.github,让大家对git有基本的认识:下面将持续更新几篇文章来介绍git,见git导航: 下一篇中将讲解git的安装及使用: Git系列导航 版本管理工具Git( ...
- 版本管理工具Git(一)简要介绍
版本管理工具不但可以备份而且还能记录版本,也就是同一个东西不同时期的状态同时可以跟踪追溯.版本管理工具由CVS.SVN.Git.GitHub. 最早的版本管理工具CVS,因为多人开发项目导致工作很难协 ...
- 痞子衡嵌入式:备受开源社区推崇的分布式版本控制工具(Git)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是分布式版本控制工具Git. 1.为什么需要版本控制系统? 单人软件项目开发过程,往往很多功能都是逐步增加的,在代码开发过程中,有的时候功 ...
- 强大得分布式项目管理工具Git
---恢复内容开始--- 强大的分布式管理工具-Git(一) 前言:最近忙着写项目,在期间呢,用的是git管理,由于一个项目的管理是很重要得,所以整理了一篇关于git得博客跟大家分享一下.大家都知道, ...
- linux系统下使用流行的版本管理工具 Git
前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...
- 版本管理工具Git(2)git的安装及使用
下载安装git 官方下载地址:https://git-scm.com/download/win 这里以windows为例,选择正确的版本: 验证是否安装成功,右键菜单中会出现如下菜单: Git工作流程 ...
- 版本管理工具Git(2)git的使用
上一篇带大家认识了Git,在本篇中将讲解Git的安装及使用: Git系列导航 版本管理工具Git(1)带你认识git 版本管理工具Git(2)git的安装及使用 版本管理工具Git(3)VS下如何使用 ...
- 版本管理工具Git(3)VS2013下如何使用git
Git系列导航 版本管理工具Git(1)带你认识git 版本管理工具Git(2)git的安装及使用 版本管理工具Git(3)VS下如何使用git VS下创建项目 vs中新建项目MyGitTest201 ...
随机推荐
- xshell常用命令
常用的命令: suse linux 常用命令 (1) 命令ls--列出文件 ls 显示当前目录文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的"隐藏"文件 ...
- KMP算法 --- 在文本中寻找目标字符串
KMP算法 --- 在文本中寻找目标字符串 很多时候,为了在大文本中寻找到自己需要的内容,往往需要搜索关键字.这其中就牵涉到字符串匹配的算法,通过接受文本和关键词参数来返回关键词在文本出现的位置.一般 ...
- Apache FtpServer 实现文件的上传和下载
1 下载需要的jar包 Ftp服务器实现文件的上传和下载,主要依赖jar包为: 2 搭建ftp服务器 参考Windows 上搭建Apache FtpServer,搭建ftp服务器 3 主要代码 在ec ...
- foreach是怎么实现遍历的
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- 【JAVASCRIPT】React学习-JSX 语法
摘要 react 学习包括几个部分: 文本渲染 JSX 语法 组件化思想 数据流 JSX 语法 1. 定义 JSX 是javascript + xml 的合集,我们可以将javascript 与 ht ...
- css阴影,边框,渐变,背景
一.box-shadow: 参数1,参数2 阴影位置偏移量 参数3 模糊半径 参数4 扩展半径 负数 0 默认值 正数 参数5 阴影的颜色 参数6 设置内阴影 inset 默认是外阴影 多个阴影使用, ...
- 3.如何安装Apache Spark
如何安装Apache Spark 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark弹 ...
- Azure 认知服务 (4) 计算机视觉API - 读取图片中的文字 (OCR)
<Windows Azure Platform 系列文章目录> 微软Azure认知服务的计算机视觉API,还提供读取图片中的文字功能 在海外的Windows Azure认知服务的读取图片功 ...
- 基于jQuery开发的手风琴插件 jquery.accordion.js
1.插件代码 少说多做,基于jQuery的手风琴插件jquery.accordion.js的代码: /* * 手风琴插件说明: * 1.treeTrunk对应树干 * 2.treeLeaf对应树叶 ...
- Java ee 与安卓环境搭建个人心得
最近加了个IT俱乐部,第一次作业就是搞定eclipse,完成Java ee 与安卓环境搭建.为此我上网看了好多教程,之前我安装了Java,可以说省了不少事,而且还了解一点安装方法.流程网上都有,但是不 ...