- 1、git使用
- git命令:
- 版本回退
- 用 git log 命令查看:
# 每一个提交的版本都唯一对应一个 commit 版本号,
# 使用 git reset 命令退到上一个版本:
[root@xingdian-git ~]# git reset —hard HEAD^
[root@xingdian-git ~]# git reflog
# 查看命令历史,以便确定要回到哪个版本
[root@xingdian-git ~]# git reset —hard commit_id
# 比如git reset —hard 3628164
消失的ID号:
回到早期的版本后再查看git log会发现最近的版本消失,可以使用reflog查看消失的版本ID,用于回退到消失的版本,git reflog,可查看消失的版本号(关机重启均能找到)
git command 参数的含义
1.默认情况下,创建一个空目录,我们使用git init对一个目录进行初始化,初始化后会产生 .git 隐藏目录(暂存区…..,版本库[.git])
2.在git init(初始化)后的目录下,进行修改(创建文件,更改文件内容等等)
3.先提交到暂存区【git add .】
4.提交到版本库【git commit -m “node”】
5.指定远程仓库【git remote add origin 地址】
6.提交到远程仓库【git push -u origin master】 本地master分支是第一次提交的时候,默认给我创建的一个名为master的分支
a:如何使用分支 【git branch 名字 === 创建分支】 git branch —list 查看分支 git chechkout xingdian 分支切换
在那个分支下修改就提交到那个分支
[root@git diandian]# touch ddd
[root@git diandian]# git add ddd
[root@git diandian]# git commit -m “ddd”
[a 8472bc2] ddd
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 ddd
[root@git diandian]# git push -u origin a
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 264 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for ‘a’ on GitHub by visiting:
remote: https://github.com/blackmed/diandiancloud/pull/new/a
remote:
To git@github.com:blackmed/diandiancloud.git
- [new branch] a -> a
Branch a set up to track remote branch a from origin.
[root@git diandian]# touch e
[root@git diandian]# git add e
[root@git diandian]# git commit -m “e”
[a 2bf23c3] e
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 e
[root@git diandian]# git branch —list - a
master
[root@git diandian]# git push -u origin master
Branch master set up to track remote branch master from origin.
Everything up-to-date
[root@git diandian]#
1、git使用
1、安装git
yum -y install git
安装完毕后添加个人配置(用户及邮箱)
git config —global user.name “xiang”
git config —global user.email “245472850@qq.com”
git config —list #查看添加配置信息
2、使用ssh连接gitlab,创建密钥对,客户机上产生公钥上传到gitlab的SSH-Keys里,git clone下载和git push上传都没问题,这种方式很安全,登录gitlab,找到setting,选择ssh and gpg kays,添加ssh
客户机上创建密钥对,查看id_rsa.pub,将查看的结果复制到gitlab要添加的ssh keys
[root@git ~]# ssh-keygen
[root@git ~]# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgmC7Ggq6bBdRcHOmhXKslMC4qjFWx2eC5+yYjtk6Vftge/yH9n2YpDhA6cszhPm3cSmode8wIOnDpB96JsC61v6wOhQa2cvh34R1P97Bu2W9aRxpsqBA+f5K02lGxEpFx2uiG+UHoFciU0dPAjq9fOji1RHy91wKJb8YMvxlJXlROjyvLT2LXkLgYyLweyXv9I2fa3Raa/sSLrcUTIkMN8ii9kO/DzGKf++mDLfEVvXVnICJczBxBmybluQZdTXMrkv8Wm95Rz/1acd96z0p26kA+W5VB74gecJonuQTHBno/1yUeWsD1huYVoWCZTEys7MUJi0iVp+ThSqejkXkv root@git
使用 :
一、使用远程仓库进行编辑
git clone git@github.com:18860279810/jiaoben.git获取远程仓库版本库
Cloning into ‘jiaoben’…
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 14 (delta 0), reused 6 (delta 0), pack-reused 0
Receiving objects: 100% (14/14), done. 可进入下载好的仓库进行编辑,利用git命令
二、本地项目与远程服务器项目之间的交互
mkdir gitt
cd gitt && git init #进入到创建的目录下进行git初始化
git remote add origin git@github.com:18860279810/jiaoben.git #添加远程项目地址(可从项目主页复制)
如果仓库出错,则 使用命令git remote rm origin 删除orgin仓库
git add . #添加此目录下所有的文件到暂存区
git commit -m “jiaoben” #添加到本机版本库
git push -u origin master #将本地的更改提交到远程版本库的master分支下
git命令:
[root@xingdian-git ~]# git init
# 初始化
[root@xingdian-git ~]# git add main.cpp
# 将某一个文件添加到暂存区
[root@xingdian-git ~]# git add .
# 将文件夹下的所有的文件添加到暂存区
[root@xingdian-git ~]# git commit -m ‘note’
# 将暂存区中的文件保存成为某一个版本
[root@xingdian-git ~]# git log
# 查看所有的版本日志
[root@xingdian-git ~]# git status
# 查看现在暂存区的状况
[root@xingdian-git ~]# git diff
# 查看现在文件与上一个提交-commit版本的区别
[root@xingdian-git ~]# git reset —hard HEAD^
# 回到上一个版本
[root@xingdian-git ~]# git reset —hard XXXXX
# XXX为版本编号,回到某一个版本
[root@xingdian-git ~]# git pull origin master
# 从主分支pull到本地
[root@xingdian-git ~]# git push -u origin master
# 从本地push到主分支
[root@xingdian-git ~]# git pull
# pull默认主分支
[root@xingdian-git ~]# git push
# push默认主分支 …
版本回退
用 git log 命令查看:
# 每一个提交的版本都唯一对应一个 commit 版本号,
# 使用 git reset 命令退到上一个版本:
[root@xingdian-git ~]# git reset —hard HEAD^
[root@xingdian-git ~]# git reflog
# 查看命令历史,以便确定要回到哪个版本
[root@xingdian-git ~]# git reset —hard commit_id
# 比如git reset —hard 3628164
消失的ID号:
回到早期的版本后再查看git log会发现最近的版本消失,可以使用reflog查看消失的版本ID,用于回退到消失的版本,git reflog,可查看消失的版本号(关机重启均能找到)
分支管理:
创建分支:git branch xiang #创建分支xiang
切换分支:git checkout xiang #切换到xiang分支,分支前有*说明在当前分支
创建分支并切换到其分支:git checkout -b feng #创建分支feng,并且切换到此分支
合并分支(覆盖重名的文件,添加未有的文件):git merge feng (当前在xiang分支下,将feng分支下所有文件向xiang分支合并(文件名相同的覆盖,文件名不同的追加到xiang分支下)
git branch -d feng #删除feng分支
安装本地Git服务器
创建用户git,并设置密码
useradd git && passwd git && mkdir /git && cd /git && git init —bare shell.git
创建git用户并设置密码,创建git目录并且进行git初始化(进行初始化而不使用git命令,所以此处用的命令是 git init —bare ,后面shell.git 为创建的库名)
chown -R git.git /git #将初始化的目录更改属组及属主
进入到/opt目录下并且获取本地版本库内容
cd /opt && git clone git@192.168.188.148:/git/shell.git && 添加user.name,user.email
进行然后创建文件,并且进行更新到本地版本库
echo “xiang” >xiang.txt && git add . && git remote -m ‘xiang’ && git push -u origin master
进入到本地版本库查看版本号
cd /git/ && cat shell.git/refs/heads/master
