简介

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搭建私有版本控制系统
 

最新文章

  1. maven File encoding has not been set
  2. Xcode7主题路径
  3. percent-encode 百分号编码
  4. PetaPoco 存储过程
  5. linux_解压缩详解
  6. springmvc的一些记录
  7. angular、vue使用感受
  8. jsp 文件使用 include指令 导入 jspf 分析,及导入jspf 文件后出现乱码问题
  9. SegmentFault错误汇总
  10. IPFS: BitSwap协议(数据块交换)
  11. 从Object.definedProperty中看vue的双向数据的绑定
  12. MySQL主从复制虽好,能完美解决数据库单点问题吗?
  13. 一般处理程序、Ajax多图片上传带进度条
  14. Java Web中提交表单之后跳转到WebContent目录下的子目录里的jsp文件
  15. 微信小程序中的循环遍历问题
  16. 轻量架构ShuffleNet V2:从理论复杂度到实用设计准则
  17. Set和WeakSet数据结构
  18. linux 使用spinlock的配对关系问题
  19. Android侧滑菜单和轮播图之滑动冲突
  20. Golang Http Server源码阅读

热门文章

  1. Golden Tiger Claw UVA - 11383(km原理)
  2. 跟我学Spring Cloud(Finchley版)-20-Spring Cloud Config-Git仓库配置详解 原
  3. 【SPOJ】QTREE7(Link-Cut Tree)
  4. 【bzoj4484】【jsoi2015】最小表示
  5. 小Q与内存
  6. profit
  7. Caffe框架详细梳理
  8. centos 前端环境搭建
  9. DINSTINCT
  10. OpenCV---开闭操作