06.升级git版本及命令学习
博客为日常工作学习积累总结:
1.升级git版本:
参考博客:https://blog.csdn.net/yuexiahunone/article/details/78647565由于新的版本可以使用gitea功能所以升级git版本,centos7默认git版本如下:
[root@git ~]# git --version
git version 1.8.3.1
2.yum默认安装不适合生成环境需要编译安装此步奏忽略:
yum命令安装git是最简单的,直接键入命令安装就可以了
yum install git -yy
3.编译安装:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
wget https://github.com/git/git/archive/v2.9.5.zip
unzip v2.9.5.zip
cd git-2.9.5
make prefix=/usr/local/git all
make prefix=/usr/local/git install
rm -rf /usr/bin/git
ln -s /usr/local/git/bin/git /usr/bin/git
git --version
[root@git git-2.9.5]# git --version
git version 2.9.5
4.初始化:
[root@git ~]# git config
git help
[root@git ~]# mkdir test
[root@git ~]# cd test/
[root@git learngit]# git init
Initialized empty Git repository in /root/learngit/.git/
[root@git learngit]# git config --list
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
5.配置git目录:
[root@git learngit]# git config --global user.name "Eric-xgc"
[root@git learngit]# git config --global user.email 741017474@qq.com
[root@git learngit]# git config --list
user.name=Eric-xgc
user.email=741017474@qq.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
6.git应用原理:
图片来源老男孩教育郭宏泽
git add
git status
git status -s
git diff
git diff --staged
git commit
git reset
git rm
git rm --cached README
git mv
7.测试命令功能:
1.初始化后
[root@git test]# git status
On branch master
Initial commit
nothing to commit (create/copy files and use "git add" to track)
2.新增一个文件
[root@git test]# vim index.html
<h1>welcome to ht <h1>
[root@git test]# git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
index.html
nothing added to commit but untracked files present (use "git add" to track)
3.提交一个文件到暂存区
[root@git test]# git add index.html
[root@git test]# git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: index.html
4.提交到本地仓库
[root@git test]# git commit -m "first commit"
[master (root-commit) 6083db0] first commit
1 file changed, 1 insertion(+)
create mode 100644 index.html
[root@git test]# git status
On branch master
nothing to commit, working tree clean
5.查看提交日志
[root@git test]# git log
commit 6083db06d756ef50053cb439e55144242f95b5a8
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:31:43 2019 +0800
first commit
6.测试rm命令
[root@git test]# vim pay.html
pay modle
[root@git test]# git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: pay.html
[root@git test]# vim news.html
news center
[root@git test]# git add news.html
[root@git test]# git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: news.html
new file: pay.html
[root@git test]# git rm --cached pay.html
rm 'pay.html'
[root@git test]# git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: news.html
Untracked files:
(use "git add <file>..." to include in what will be committed)
pay.html
[root@git test]# git commit -m "news"
[master 33a1733] news
1 file changed, 1 insertion(+)
create mode 100644 news.html
[root@git test]# git log
commit 33a17331c4060afd85d303dccad8406f8c74037b
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:46:44 2019 +0800
news
commit 6083db06d756ef50053cb439e55144242f95b5a8
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:31:43 2019 +0800
first commit
[root@git test]# git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
pay.html
nothing added to commit but untracked files present (use "git add" to track)
[root@git test]# vim pay.html
pay modle
22222222
bug
[root@git test]# git add pay.html
[root@git test]# git commit -m "pay"
[master 2e667e5] pay
1 file changed, 4 insertions(+)
create mode 100644 pay.html
[root@git test]# git log
commit 2e667e57e89b6794592563c14ae52cf2da3c8736
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:48:54 2019 +0800
pay
commit 33a17331c4060afd85d303dccad8406f8c74037b
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:46:44 2019 +0800
news
commit 6083db06d756ef50053cb439e55144242f95b5a8
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:31:43 2019 +0800
first commit
7.分支管理
业务场景:当需要开发新的模块时会经常改动代码,不能影响主分支master
创建分支:about
git branch about
[root@git test]# git branch about
切换分支
git checkout about
[root@git test]# git checkout about
Switched to branch 'about'
[root@git test]# git status
On branch about
nothing to commit, working tree clean
测试分支与主分支:
[root@git test]# vim about.html
about us
[root@git test]# git add .
[root@git test]# git commit -m "about"
测试about分支有4次提交
[root@git test]# git log
commit 6a24c259931e8401ac46448d4873f77eae167de9
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 15:46:34 2019 +0800
about
commit 2e667e57e89b6794592563c14ae52cf2da3c8736
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:48:54 2019 +0800
pay
commit 33a17331c4060afd85d303dccad8406f8c74037b
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:46:44 2019 +0800
news
commit 6083db06d756ef50053cb439e55144242f95b5a8
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:31:43 2019 +0800
first commit
切回主分支查看log只有3次提交
[root@git test]# git checkout master
Switched to branch 'master'
[root@git test]# git log
commit 2e667e57e89b6794592563c14ae52cf2da3c8736
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:48:54 2019 +0800
pay
commit 33a17331c4060afd85d303dccad8406f8c74037b
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:46:44 2019 +0800
news
commit 6083db06d756ef50053cb439e55144242f95b5a8
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:31:43 2019 +0800
first commit
回到测试分支
[root@git test]# git checkout about
Switched to branch 'about'
[root@git test]# git branch
* about
master
[root@git test]# git branch -v
* about 6a24c25 about
master 2e667e5 pay
8. 将测试分支合并到主分支:
[root@git test]# vim about2.html
about2
[root@git test]# git add .
[root@git test]# git commit -m "about2"
[about 0283739] about2
1 file changed, 1 insertion(+)
create mode 100644 about2.html
测试分支有5次提交
[root@git test]# git log
commit 02837391d9b360902f8599ca91ad83eaf2560324
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 15:55:49 2019 +0800
about2
commit 6a24c259931e8401ac46448d4873f77eae167de9
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 15:46:34 2019 +0800
about
commit 2e667e57e89b6794592563c14ae52cf2da3c8736
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:48:54 2019 +0800
pay
commit 33a17331c4060afd85d303dccad8406f8c74037b
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:46:44 2019 +0800
news
commit 6083db06d756ef50053cb439e55144242f95b5a8
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:31:43 2019 +0800
first commit
主分支还是3次提交
[root@git test]# git checkout master
Switched to branch 'master'
[root@git test]# git log
commit 2e667e57e89b6794592563c14ae52cf2da3c8736
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:48:54 2019 +0800
pay
commit 33a17331c4060afd85d303dccad8406f8c74037b
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:46:44 2019 +0800
news
commit 6083db06d756ef50053cb439e55144242f95b5a8
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:31:43 2019 +0800
first commit
将测试分支merge到主分支:
[root@git test]# git merge about
Updating 2e667e5..0283739
Fast-forward
about.html | 1 +
about2.html | 1 +
2 files changed, 2 insertions(+)
create mode 100644 about.html
create mode 100644 about2.html
查看主分支log
[root@git test]# git checkout master
Already on 'master'
[root@git test]# git log
commit 02837391d9b360902f8599ca91ad83eaf2560324
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 15:55:49 2019 +0800
about2
commit 6a24c259931e8401ac46448d4873f77eae167de9
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 15:46:34 2019 +0800
about
commit 2e667e57e89b6794592563c14ae52cf2da3c8736
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:48:54 2019 +0800
pay
commit 33a17331c4060afd85d303dccad8406f8c74037b
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:46:44 2019 +0800
news
commit 6083db06d756ef50053cb439e55144242f95b5a8
Author: Eric-xgc <741017474@qq.com>
Date: Mon Apr 1 14:31:43 2019 +0800
first commit
查看被merged的分支:
[root@git test]# git branch --merged
about
* master
[root@git test]# git branch --no-merged
[root@git test]# git branch test
[root@git test]# git branch --merged
about
* master
test
[root@git test]# vim test.html
test
testi1
[root@git test]# git add .
[root@git test]# git commit -m "test2"
[root@git test]# git branch --merged
about
* master
[root@git test]# git branch --no-merged
test
退出git log
在英文状态下按q退出
9.checkerout命令
git checkerout 命令:用于切换分支。
[root@git test]# git checkout master
回滚本地目录修改的文件
git checkerout -- 修改的文件
git checkout -- index.html
测试用例:
[root@git test]# vim index.html
<h1>welcome to ht <h1>
[root@git test]# git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: index.html
no changes added to commit (use "git add" and/or "git commit -a")
[root@git test]# git checkout -- index.html
[root@git test]# git status
On branch master
nothing to commit, working tree clean
修改被撤销了,
[root@git test]# cat index.html
<h1>welcome to ht <h1>
10.reset 回滚暂存区修改的文件
git log得到的id号
git reset --hard id号
所有的操作记录
[root@git test]# git reflog
0283739 HEAD@{0}: checkout: moving from test to master
3a525df HEAD@{1}: checkout: moving from master to test
0283739 HEAD@{2}: checkout: moving from test to master
3a525df HEAD@{3}: commit: test2
eed3382 HEAD@{4}: commit: test
0283739 HEAD@{5}: checkout: moving from master to test
0283739 HEAD@{6}: checkout: moving from master to master
0283739 HEAD@{7}: merge about: Fast-forward
2e667e5 HEAD@{8}: checkout: moving from about to master
0283739 HEAD@{9}: commit: about2
6a24c25 HEAD@{10}: checkout: moving from master to about
2e667e5 HEAD@{11}: checkout: moving from about to master
6a24c25 HEAD@{12}: commit: about
2e667e5 HEAD@{13}: checkout: moving from master to about
2e667e5 HEAD@{14}: commit: pay
33a1733 HEAD@{15}: commit: news
6083db0 HEAD@{16}: commit (initial): first commit
git checkout 6083db0
8.远程仓库
[root@git ~]# git clone https://github.com/guohongze/scripts.git
[root@git ~]# cd scripts/
[root@git scripts]# ls
mysql nfs nginx php README.md redis svn zookeeper
[root@git scripts]# git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
[root@git scripts]# git commit -m "readme update-eric"
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
modified: README.md
no changes added to commit
[root@git scripts]# git remote
origin
[root@git scripts]# git remote -v
origin https://github.com/guohongze/scripts.git (fetch)
origin https://github.com/guohongze/scripts.git (push)
[root@git scripts]# git push origin master
/root/learngit/test
[root@git test]# git remote add orgin https://github.com/Eric-xgc/test.git
[root@git test]# git remote -v
orgin https://github.com/Eric-xgc/test.git (fetch)
orgin https://github.com/Eric-xgc/test.git (push)
打标签:
[root@git test]# git tag -a v1.0 -m "feature finished"
[root@git test]# git tag
v1.0
06.升级git版本及命令学习的更多相关文章
- Centos7升级Git版本
centos 升级 Git 版本 问题描述 centos7 系统默认的 git 安装版本是 1.8,但是在项目构建中发现 git 版本过低,于是用源码编译的方式进行升级.同时该文章也适用于安装新的 g ...
- centOS7升级git版本到2.7.3
CentOS 自带的git版本太低,需要升级到2.1.2版本以上才能使用gitea. 升级方法: 1.安装所需软件包 yum install curl-devel expat-devel gettex ...
- GIT 版本控制常用命令学习汇总
GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...
- Git 与 SVN 命令学习笔记
一:Git git config --global user.name "you name" #设置用户名git config --global user.email &quo ...
- centos下升级git版本的操作记录
在使用git pull.git push.git clone的时候,或者在使用jenkins发版的时候,可能会报类似如下的错误: error: The requested URL returned e ...
- centos6下升级git版本的操作记录
编译go_ethereum的时候出现了错误 然后发现是自己的git没有升级成功 因为编译需要高版本的git版本 所以会编译不成功 之后执行 root@uatjenkins01 ~]# git - ...
- 转:centos下升级git版本的操作记录
https://www.cnblogs.com/kevingrace/p/8252517.html 在使用git pull.git push.git clone的时候,或者在使用jenkins发版的时 ...
- Git版本恢复命令reset(转载)
本博文转载自:http://www.tech126.com/git-reset/: 如果看不懂的话,请在git下练习,如果练习后任然有不懂的,可以留言也可以发送邮件到luoquantao@126.co ...
- Git 版本恢复命令reset
reset命令有3中方式: git reset -mixed: 此为默认方式,不带任何参数的git reset, 使用这种方式,项目会回退到某个版本,只保留源码,回退commit和index的信息. ...
随机推荐
- Office - InfoPath
1. 移除隐藏空间后剩余的空白: http://social.technet.microsoft.com/Forums/sharepoint/zh-TW/3dea3014-f808-428b-b283 ...
- VC6.0开发OCX按钮控件
原文:http://www.cnblogs.com/joinclear/archive/2013/05/21/3091934.html 0前言 1.OCX是典型的ActiveX控件,常见的OCX控件有 ...
- HTML5+CSS3开发移动端页面
前提知识: 1.能够独立根据设计稿进行整套项目的需求.剖析及其开发: 2.对项目开发流程需要有一个基本的了解: 3.可以灵活运用切图.重构.前端的知识对项目进行灵活控制. 开发步骤之需求分析: 1.确 ...
- scp 上传和下载文件
mac和linux自带scp命令,windows的话请考虑gitbash或者专业linux工具 (默认端口为22,所以-p可不写) 上传文件 scp -p /home/lnmp.gz root@ip: ...
- 如何为运行的 ARM Linux 启用 LAD2.3 版本的诊断扩展
Linux Azure Diagnostic (LAD) 扩展现在已经发布了 3.0 版本,但在 Azure 中国区,目前可用的最新版本还是 2.3. 虽然 Azure 门户提供了简单的操作版本为 L ...
- MySQL存储过程和临时表
MySQL创建存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...
- [转]优化IIS7.5支持10万个同时请求的配置方法
通过对IIS7的配置进行优化,调整IIS7应用池的队列长度,请求数限制,TCPIP连接数等方面,从而使WEB服务器的性能得以提升,保证WEB访问的访问流畅 通过对IIS7的配置进行优化,调整IIS7应 ...
- 浅析tnsping
首先,先弄清楚tnsping是什么: Oracle Net 工具(命令)tnsping,是一个OSI会话层的工具,测试数据库服务的命令,用来决定是否一个Oracle Net 网络服务(service) ...
- July 07th 2017 Week 27th Friday
Learn wisdom by the follies of others. 要从别人的愚行中学到智慧. How to become smart or what characters should a ...
- [原]Ping azure
最近在azure上开了一个虚拟机(大陆世纪互联的),发现竟然不能ping虚拟机! 查了一下资料发现原来azure不支持被ping这个功能(貌似是不开放ICMP-in这个协议),有些用户跟客服问过这个问 ...