GIT分布式版本控制
来源:互联网 发布:iphone摄影曝光软件 编辑:程序博客网 时间:2024/05/16 17:28
做了一段时间的Java开发,一直用的版本控制都是svn。个人感觉svn还是挺好用的,用起来也方便。最近跳槽公司用的是git来管理项目版本,什么都不会自己就边开发边摸索这个git是怎么玩的。好了废话不多说了,直接入正题吧!
首先来看一下git的简单介绍:
Git式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 与 SVN 区别:
1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
3、GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
4、GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
- 5、GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
给一个Git的完整命令手册,方便查看:http://git-scm.com/docs(全英文版的。哈哈)
关于安装就不多说了,百度一大堆教程。Linux, windows的So on.
以下是GIT的工作流程,个人感觉还是先把原理搞定才好学
GIT的工作区、暂存区和版本库
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库
感觉理论知识做的也差不多了吧!来点儿实际的吧!
该命令执行完后会在当前目录生成一个 .git目录。
2 git init newrepo 命令,初始化后,会在 newrepo 目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
3 Clone项目并建立本地分支
$ git clone+远程URL
项目Clone完成,进入根目录
$ cd yimi_mis/
Yimi_mis/.git 文件夹存在,这就是操控版本控制的关键
默认分支为master,在当前分支master创建本地分支,你也可以用 git branch 命令查看当前分支。
创建dev-本地分支
$ git branch branchName
此时dev-20170901为本地master的一个分支。你的开发也就在这个分支上进行
3.1 虽然你创建了一个新的分支,但当前分支仍然为为master分支,你必须先切换到dev-20170901 分支,再进行开发,切换分支用以下命令:
$ git checkout dev-20170901
eclipse导入项目即可在dev-20170901上进行开发
代码提交
代码提交前先查看是否有修改的文件:
$ git status
如果有把文件添加进去,添加修改的文件到暂存区,并提交到本地仓库
$ git add file1 file2...(多文件)
文件提交:
$ git commit -m '修改注解'
好了,现在你的本地仓库已经有了当前分支要提交的文件,现在推送当前项目分支到远端服务器对应分支:
推送前先抓取远端代码,因为团队其他人可能已经提交了他们的修改,这时,我们需要先把最新的提交拉取下来,加入我们的修改,再提交上去。
$ git pull (拉取当前分支最新代码)
代码推送无端前主干合并当前分支
Push前merge远程master分支,避免在分支合并到主干过程中发生冲突。
$ git merge origin master此时有可能会产生冲突,远端代码和本地代码不一致,这时候你需要跟修改了不同代码的人商量如何保留代码。
push当前分支到远端
$ git push --set-upstream origin branchName
大功告成 可在远端查看提交的代码
- 分布式版本控制---Git
- GIT(分布式版本控制)
- GIT分布式版本控制
- GIT分布式版本控制
- Git 分布式版本控制
- 分布式版本控制工具Git
- Git分布式代码版本控制
- 分布式版本控制Git教程
- 版本控制学习(Git分布式)
- git分布式版本控制软件
- 分布式版本控制工具:git与Mercurial
- 分布式版本控制工具:git & mercurial
- 分布式版本控制工具学习--Git
- 【转】分布式版本控制工具学习--Git
- Git分布式版本控制使用介绍
- 分布式版本控制工具——Git
- 分布式版本控制-Git(一)
- 分布式版本控制-Git(二)
- OpenCV学习笔记
- JZOJ__Day 10:【普及模拟】【USACO】贝茜的晨练计划
- 【STL】poj 1256 Anagram
- POJ 2406 Power Strings——kmp求最短循环子串
- centos7.2安装VIM编辑软件及VIM命令大全
- GIT分布式版本控制
- Android之Debug运行项目一直卡在Debug界面(can't bind to local 8066 for debug)
- 拼多多陷信任危机:创业公司做明星还是做寿星?
- POJ1328 Radar Installation
- Java中for循环的2道经典练习题
- 只能在堆(栈)上创建的类
- 《慕课网玩转算法面试》笔记及习题解答2
- bootstrap fileinput 上传图片
- Efficient data transfer through zero copy