git版本控制系统常见操作总结
简介
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版本控制系统常见操作总结的更多相关文章
- Google Code项目代码托管网站上Git版本控制系统使用简明教程
作为一个著名的在线项目代码托管网站,Google Code目前主要支持三种版本控制系统,分别为Git, Mercurial和 Subversion.Subversion即SVN相信大家都已经熟知了,这 ...
- Git版本控制系统VCS
Git版本控制系统VCS 一.版本控制系统基本情况说明 版本控制是一种记录一个或者若干个文件内容的变化,以便将来查阅特定版本修订情况的系统 1.作用 记录文件的所有历史变化 随时可回复到任何一个历史状 ...
- git版本控制系统小白教程(上)
前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享. Git介绍 Git是目前世界上最先进的分布式版本控制系统.并且它是一个开源的分布式版本控制系 ...
- git版本控制系统小白教程(下)
前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享,查看上部请点传送门. 删除文件 git删除文件一般有三种情况,第一种是在工作区修改了文件,但是 ...
- git版本控制系统重新认识
git 版本控制系统 目标:完全搞懂git分布式版本控制系统 搭建git版本控制系统 cvs集中化版本控制系统--集中式管理的服务器 git分布式版本控制系统--会将原始代码仓库镜像下来 新项目使用g ...
- Git 版本控制系统的基本使用、常用操作
以Ubuntu16.04操作系统为例(其他系统类似),主要记录常用的.基本操作: 0. 安装Git 分散型版本控制系统(CVS): sudo apt-get install git 1. 初始化本地配 ...
- 初识git版本控制系统
当下git分布式版本控制系统越来越火,掌握git也是必须的一个技能.因此,对git做了如下学习. Git初级指南 1. 先安装git.(ps:在select cmponents处要勾选Git Bash ...
- 如何选择版本控制系统 ---为什么选择Git版本控制系统
版本控制系统 "代码"作为软件研发的核心产物,在整个开发周期都在递增,不断合入新需求以及解决bug的新patch,这就需要有一款系统,能够存储.追踪文件的修改历史,记录多个版本的开 ...
- git版本控制系统更新
版本控制系统: 一.概念: 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 二.版本控制系统分类 1.本地版本控制 ...
随机推荐
- Linux学习笔记二:tar命令使用
tar命令详解 tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的 ...
- BZOJ 3786: 星系探索 解题报告
3786: 星系探索 Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅 ...
- 使用Empire自动获取域管理员
使用Empire自动获取域管理员 译:backlion 前言 自从Empire和BloodHound被应用来,对AD渗透已经可以获取到内网环境95%的信息量.作者发现自己一遍又一遍地在做同样重复的事 ...
- SQL Server参数化SQL语句中的like和in查询的语法(C#)
sql语句进行 like和in 参数化,按照正常的方式是无法实现的 我们一般的思维是: Like参数化查询:string sqlstmt = "select * from users whe ...
- 循环神经网络 RNN
随着科学技术的发展以及硬件计算能力的大幅提升,人工智能已经从几十年的幕后工作一下子跃入人们眼帘.人工智能的背后源自于大数据.高性能的硬件与优秀的算法的支持.2016年,深度学习已成为Google搜索的 ...
- Python中scatter()函数--转载
原博地址:http://blog.csdn.net/anneqiqi/article/details/64125186 最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意 ...
- c++构造是否要加大括号
笔者被这个问题困扰良久,终于下决心看个究竟.废话不多说,先上结论: 如果对象是原生类型,加大括号会保证生成对象被初始化(一般是0) 如果对象非原生类型,加大括号或者不加,效果是一样的,都会执行该类的默 ...
- (转)select、poll、epoll之间的区别
本文来自:https://www.cnblogs.com/aspirant/p/9166944.html (1)select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道 ...
- nova-conductor与AMQP(二)
源码版本:H版 一.首先看服务的启动脚本 /usr/bin/nova-conductor import sys from nova.cmd.conductor import main if __nam ...
- [DeeplearningAI笔记]序列模型1.1-1.2序列模型及其数学符号定义
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1什么是序列模型 在进行语音识别时,给定了一个输入音频片段X,并要求输出片段对应的文字记录Y,这个例子中的输入和输出都输 ...