简介

Git是强大的版本控制系统,主要功能是针对代码、配置文件等文本进行版本控制、备份等,同时个人认为还是分发代码的一个不错的方式。

常见用法

#创建远程git仓库
[root@test88 ~]# mkdir -p /backup/backup.git
[root@test88 ~]# cd /backup/backup.git
[root@test88 backup.git]# git init --bare #创建本地git仓库
[root@test88 ~]# git config --global user.name peter
[root@test88 ~]# git config --global user.email "peter@gmail.com"
[root@test88 ~]# git config --global color.ui true
[root@test88 ~]# git config --list
[root@test88 ~]# mkdir -p /source
[root@test88 ~]# cd /source/
[root@test88 source]# git init
[root@test88 source]# git remote add orgin peter@172.16.1.13:/backup/backup.git/
[root@test88 source]# git push -u origin master
#更简单的办法是直接从远程仓库克隆到本地
[root@test88 source]# git clone root@172.16.1.13:/backup/backup.git/ #提交修改,进行推送
[root@test88 source]# echo first > first.txt
[root@test88 source]# git add .
[root@test88 source]# git commit -m "first"
[root@test88 source]# git push
#每天备份可以写成脚本加入定时任务
#!/bin/bash
cd /source
git add .
git commit -m "backup $(date)"
git push #查看版本记录和恢复某个版本
[root@test88 source]# git log
[root@test88 source]# git checkout a1f9

其他用法

创建Git仓库
mkdir peter cd peter git init
提交数据
touch readme ;git status;git add readme;git commit -m "readme"; 
从暂存区移除数据
git rm --cached readme
查看历史版本记录
git log ; git log -2 最近两条;注:从当前HEAD往前;git log --pretty=oneline 单行显示每条记录
回退到上一个版本
git reset --hard HEAD^
查看所有版本记录
git reflog ; 查看历史和未来的版本记录
跳转到任意一个版本
git reset --hard 8a2225b
从暂存区或上个版本恢复文件
git checkout -- readme  // 暂存区有readme则从暂存区恢复,没有则从上一次版本库提交快照恢复
创建分支
git branch linux
切换分支,切换版本
git checkout linux   git checkout ID
查看分支
git branch
合并分支
git checkout master ; git merge linux
删除分支
git branch -d linux // 如果分支还没被合并则无法删除  
创建并切换分支
git checkout -b linux
创建版本标签
git tag v1.0 ; git tag v1.2 -m "version 1.2 is test"  // -m 添加标签说明
查看当前所有标签
git tag
查看版本详细信息
git show v1.0
删除标签
git tag -d v1.0
利用标签进行版本跳转
git reset --hard v1.0
克隆仓库
git clone git@github.com:peter/demo.git
查看和添加远程仓库
git remote; git remote add origin git@github.... 添加一个远程仓库
推送到远程仓库
git push -u origin master // 第一次加上-u,建立追踪关系,下次可以直接 git push 
The -u tells Git to remember the parameters, so that next time we can simply run git push and Git will know what to do.
gitlab搭建私有版本控制系统
 

git版本控制系统常见操作总结的更多相关文章

  1. Google Code项目代码托管网站上Git版本控制系统使用简明教程

    作为一个著名的在线项目代码托管网站,Google Code目前主要支持三种版本控制系统,分别为Git, Mercurial和 Subversion.Subversion即SVN相信大家都已经熟知了,这 ...

  2. Git版本控制系统VCS

    Git版本控制系统VCS 一.版本控制系统基本情况说明 版本控制是一种记录一个或者若干个文件内容的变化,以便将来查阅特定版本修订情况的系统 1.作用 记录文件的所有历史变化 随时可回复到任何一个历史状 ...

  3. git版本控制系统小白教程(上)

    前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享. Git介绍 ​ Git是目前世界上最先进的分布式版本控制系统.并且它是一个开源的分布式版本控制系 ...

  4. git版本控制系统小白教程(下)

    前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享,查看上部请点传送门. 删除文件 ​ git删除文件一般有三种情况,第一种是在工作区修改了文件,但是 ...

  5. git版本控制系统重新认识

    git 版本控制系统 目标:完全搞懂git分布式版本控制系统 搭建git版本控制系统 cvs集中化版本控制系统--集中式管理的服务器 git分布式版本控制系统--会将原始代码仓库镜像下来 新项目使用g ...

  6. Git 版本控制系统的基本使用、常用操作

    以Ubuntu16.04操作系统为例(其他系统类似),主要记录常用的.基本操作: 0. 安装Git 分散型版本控制系统(CVS): sudo apt-get install git 1. 初始化本地配 ...

  7. 初识git版本控制系统

    当下git分布式版本控制系统越来越火,掌握git也是必须的一个技能.因此,对git做了如下学习. Git初级指南 1. 先安装git.(ps:在select cmponents处要勾选Git Bash ...

  8. 如何选择版本控制系统 ---为什么选择Git版本控制系统

    版本控制系统 "代码"作为软件研发的核心产物,在整个开发周期都在递增,不断合入新需求以及解决bug的新patch,这就需要有一款系统,能够存储.追踪文件的修改历史,记录多个版本的开 ...

  9. git版本控制系统更新

    版本控制系统: 一.概念: 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 二.版本控制系统分类 1.本地版本控制 ...

随机推荐

  1. 【刷题】BZOJ 1195 [HNOI2006]最短母串

    Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12) ...

  2. [BJWC2011]元素 线性基

    题面 题面 题解 一个方案合法,当且仅当选取的01串凑不出0. 因此就是要使得选取的01串全在线性基内,具体原因可以看这道题:[CQOI2013]新Nim游戏 线性基 要使得魔力值最大,只需要按法力值 ...

  3. 聊聊flink的Async I/O

    // This example implements the asynchronous request and callback with Futures that have the // inter ...

  4. 《Node入门》读书笔记——用Node.js开发一个小应用

    Android APP的开发告一段落,一个稳定的.实现了基本功能的APP已经交付用户使用了!我和老板交流了下,接下来准备转战Node.js了,而且一部分前端的功能也要做进去!哈哈哈~~~接下来要朝一个 ...

  5. 基于注解的spring mvc 中使用 ajax json 的model

    在 Spring mvc3中,响应.接受 JSON都十分方便. 使用注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON. 使用 @RequestBod ...

  6. The meterprter basic commonds

    Using Meterpeter commands Since the Meterpreter provides awhole new environment, we will cover some ...

  7. Linux内核设计第二周学习总结 完成一个简单的时间片轮转多道程序内核代码

    陈巧然 原创作品 转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.使用实验楼的虚拟机 ...

  8. 二次封装bootstrap-table及功能优化

    /** * 设置bootstrat-table * @param params */ function setBootstrapTable (target, params) { // 默认设置表格内容 ...

  9. opencv透视变换GetPerspectiveTransform的总结

    对于透视变换,必须为map_matrix分配一个3x3数组,除了3x3矩阵和三个控点变为四个控点外,透视变化在其他方面与仿射变换完全类似.具体可以参考:点击打开链接 主要用到两个函数WarpPersp ...

  10. rename table table1 to table2;

    1. MYSQL rename table table1 to table2;