Git使用总结-so easy
一、Git的特性
Speed 速度(git是用c语言写的。一般都是提交到本地)
Simple design
Strong support for non-linear development (thousands of parallel branches)(强有力的支持非线性开发)
Fully distributed(分布式)
Able to handle large projects like the Linux kernel efficiently (speed and data size)
二、Git的架构原理
1.快照和索引而不是增量,svn是增量
2.差点儿全部的操作都是本地的
3.Git文件的三个状态
Committed :文件安全的存储在你的本地.
Modified :你改动了文件,但还未提交到你的仓库.
Staged : 已经标记了一个已改动文件到下一个版本号的快照
对应流程例如以下:
(1),工作区改动文件
(2),adding 快照到stage区域
(3),commit 提交到仓库
4.文件状态生命周期
三、安装Git及使用前的准备
1.安装,直接上官网下载安装
2.安装完毕之后查看系统环境变量,设置身份
(1),了解系统环境变量
/etc/gitconfig
.gitconfig
(2),设置身份
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
(3),设置编辑器(可选)
$ git config --global core.editor emacs
(4),设置你的比較工具(可选)
$ git config --global merge.tool vimdiff
(5),检查你的配置(可选)
$ git config --list
(6),帮助
$ git help <verb>
$ git <verb> --help
3.开发前需理解的四个区域
blessed (remote) repository 远程仓库
local repository 本地仓库
stage area 暂时区
work area 工作区
四、Git相关命令
基本命令
1.初始化
(1)init 进入工作区间目录,git init
(2)clone 从远程server调用git clone git://github.com/wsj/test.git
2.由工作区workspace添�到暂时区staged,add命令
git add *.java
git add wsj.txt
3.由暂时区staged提交到本地仓库local repository
git commit -m "log"
4.查看提交状态
git status
5.忽略文件或目录
新建.gitignore文件,写入要忽略的文件名称就可以
6.查看三个区域文件的差别
$git diff --staged : workspace VS staged .
$git diff --cached :staged VS local repo
7.回滚 reset
git reset 三种模式
git reset --mixed 保留工作区源代码,暂时区和本地仓库回滚
git reset --soft 保留工作区和暂时区源代码,本地仓库回滚
git reset --hard 工作区,暂时区,本地仓库都回滚
git reset --hard HEAD^ 回滚全部内容到上一个版本号,后边可加上文件名称
git reset --hard HEAD~3回滚到上3个版本号
git reset --hard origin/master 回滚到和远程仓库一致
8.删除移动 rm mv
删除但未提交到本地仓库,这时假设想找回文件,使用git checkout filename
共享及更新项目
1.从远程仓库中更新 fetch pull
git fetch origin 相当于是从远程获取最新版本号到本地,不会自己主动merge
git pull origin 相当于是从远程获取最新版本号并merge到本地
具体介绍,请看一下博客
http://blog.csdn.net/hudashi/article/details/7664457
2.提交到远程仓库
git push origin master
3.远程仓库 remote
列出远程仓库
git remote
git remote -v 显示远程地址
//加入�远程仓库
git remote add pb git://github.com/sundyhome/ticgit.git
git remote rename pb paul
git remote rm paul
git remote show origin
观察比較 log diff
查找tag相应的commit id
git log --oneline --decorate
分支管理及合并
1.分支branch
git branch branchname创建分支
查看
git branch 列出分支
git show-branch 列出分支,并列出差异
git diff branch1 branch2
git whatchanged
2.切换分支checkout
3.分支合并merge
git merge "merge branch1 to master" HEAD branch1
还有一种做法
git checkout master
git pull . branch1
4.版本号tag
git tag -a ver1.0 -m "my version 1.0"
//show ver1.0 命令查看对应标签的版本号信息,并连同显示打标签时的提交对象。
git show ver1.0
//switch ver1.0
git checkout ver1.0
怎样恢复到tag1.0,看以下文章
http://blog.csdn.net/csfreebird/article/details/8022051
Git使用总结-so easy的更多相关文章
- Git工作流指南:Gitflow工作流 Comparing Workflows
Comparing Workflows The array of possible workflows can make it hard to know where to begin when imp ...
- git workflows
https://www.atlassian.com/git/tutorials/comparing-workflows Comparing Workflows The array of possibl ...
- How to get started with GIT and work with GIT Remote Repo
https://www.ntu.edu.sg/home/ehchua/programming/howto/Git_HowTo.html#zz-7. 1. Introduction GIT is a ...
- Git学习0基础篇(下)
server上的 Git - 协议 Git能够使用四种基本的协议传输资料:本地协议(Local).HTTP 协议.SSH(Secure Shell) 协议以及 Git 协议.眼下使用最普及的是 SSH ...
- Git实战(三)环境搭建
上次的博文中.我们介绍了一下关于Git作为版本号控制工具的基本原理,接下来我们来搭建一个主要的Git环境(因为我使用的是Windows系统.所以重点側重在这方面). Git安装 Git的安装很easy ...
- Git学习记录(一)
本篇文章介绍Git的本地使用 Git是什么? Git是世界上最先进的分布式版本控制系统. 那么什么是版本控制系统? 我们来举个例子,假设我创建了一个项目Project.1,里面写了一个README.t ...
- Latex Notes
latex Table of Contents 1. Presentation/Slides with Beamer 2. Drawing in LaTex With TikZ 3. Tracked ...
- release git tag easy use
#!/usr/local/env bash FLOW_VERSION=v2.0-rc-`date +"%Y-%m-%dT%H-%M-%S"` echo "version: ...
- GIT命令总结,so easy
一:GIT命令实战(码云) https://oschina.gitee.io/learn-git-branching/ 提交 git commit 创建分支 git branch <name&g ...
随机推荐
- [置顶] 初识window.location.search
window.location.search是从当前URL的?号开始的字符串 如:http://www.domain.com/item?id=0064014 它的search就是?id=0064014
- Java原型模式之基础
一.是什么? 定义:用原型实例指定创建对象的种类,而且通过拷贝这些原型创建新的对象.(官方定义) 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype. Prototype类须要 ...
- EF中的事务处理的初步理解
http://yanwushu.byethost7.com/?p=87 1. EF对事务进行了封装:context的saveChange()是有事务性的. 2. 依赖多个不同的Context的操作(即 ...
- [linux]chown和chmod命令
chown chown命令是将指定文件的拥有者改为指定的用户或组 例如: chown mail:mail test.log,把test文件指定拥有者和组都为mail chown -R mail:mai ...
- Nagios监控系统的安装
环境:centOS 6.5 X86 64位 nagios-4.08 步骤: 1. 最小化安装系统 2. 修改安全特性 关闭SELINUX SELINUX=disabled 清除iptabl ...
- 对Kalman(卡尔曼)滤波器的理解
1.简单介绍(Brief Introduction) 在学习卡尔曼滤波器之前,首先看看为什么叫"卡尔曼". 跟其它著名的理论(比如傅立叶变换.泰勒级数等等)一样.卡尔曼也是一个人的 ...
- IBM之MQ使用指南
随着计算机网络和分布式应用的不断发展.远程消息传递越来越成为应用系统中必不可少的组成部分. 商业消息中间件的出现保证了消息传输的可靠性,高效率和安全性,同一时候也降低了系统的开发周期. 眼下应用最多的 ...
- 手机装linux系统
第一步: 首先 , 你的手机需要获取root权限. 如果不知道如何获取, 可以到电脑上搜索一下安卓手机root教程. 不同品牌的手机root的方法不同. 也可以到机锋论坛上寻找root的具体方法. 第 ...
- 陈一舟《情系人人》:先搞钱,再搞人才_DoNews-IT门户-移动互联网新闻-电子商务新闻-游戏新闻-风险投资新闻-IT社交网络社区
陈一舟<情系人人>:先搞钱,再搞人才_DoNews-IT门户-移动互联网新闻-电子商务新闻-游戏新闻-风险投资新闻-IT社交网络社区 陈一舟<情系人人>:先搞钱,再搞人才
- C++基础知识---static const初始化成员变量
为了限制常数的范围class中.你必须要做出成为class成员:而要确保这是丝毫不亚于有一个恒定的实体.你必须要做出成为static员: Class Gameplayer { Private: Sta ...