Git 版本管理基本操做

 

Git是一个版本管理操做的工具 很是N,能够很智能的分布式管理,git

本网站学习笔记 来自于廖雪峰老师的内容借鉴 github

 

安装运维

yum -y install git

 

本地设置全局ssh

告知是谁提交代码 信息分布式

# git config --global user.name "xxx" # git config --global user.email "xxx"
颜色设置
# git config --global color.ui true
查看设置信息
# git config --list

 由于Git是分布式版本控制系统,因此,每一个机器都必须自报家门:你的名字和Email地址。你也许会担忧,若是有人故意冒充别人怎么办?这个没必要担忧,首先咱们相信你们都是善良无知的群众,其次,真的有冒充的也是有办法可查的。工具

注意git config命令的--global参数,用了这个参数,表示你这台机器上全部的Git仓库都会使用这个配置,固然也能够对某个仓库指定不一样的用户名和Email地址。学习

 

初始化仓库fetch

   什么是版本库呢?版本库又名仓库,英文名repository,你能够简单理解成一个目录,这个目录里面的全部文件均可以被Git管理起来,每一个文件的修改、删除,Git都能跟踪,以便任什么时候刻均可以追踪历史,或者在未来某个时刻能够“还原”。网站

[root@localhost ~]# mkdir learngit
[root@localhost ~]# cd learngit/
[root@localhost learngit]# pwd
/root/learngit
[root@localhost learngit]# git init
Initialized empty Git repository in /root/learngit/.git/
[root@localhost learngit]# ls -a
.  ..  .git

  瞬间Git就把仓库建好了,并且告诉你是一个空的仓库(empty Git repository),细心的读者能够发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,否则改乱了,就把Git仓库给破坏了 ui

 

提交代码流程

先建立文件 # cat readme.txt 
Git is a version control system
Git is free software

必定要放到learngit目录下(子目录也行),由于这是一个Git仓库,放到其余地方Git再厉害也找不到这个文件。和把大象放到冰箱须要3步相比,把一个文件放到Git仓库只须要两步。

第一步,用命令告诉Git,把文件添加到仓库:
 git add readme.txt

第二步,用命令告诉Git,把文件提交到仓库: # git commit -m "wrote a readme file"
[master (root-commit) d1b9afa] wrote a readme file
 1 files changed, 2 insertions(+), 0 deletions(-)
 create mode 100644 readme.txt
查看状态 #git status
git addgit commit

 

回退版本

# git reset --hard HEAD^^表示上个版本 ^^表示上两个版本 回退指定版本 # git reflog 8b1cc8f HEAD@{0}: HEAD^: updating HEAD 10c245e HEAD@{1}: commit: add 2hehe 8b1cc8f HEAD@{2}: commit: the 2th commit 9ec14f1 HEAD@{3}: commit (initial): the first commit # git reset --hard 9ec14f1 HEAD is now at 9ec14f1 the first commit

 

git checkout  --  readme.txt    #重新拉取数据

 

远程仓库

在github上面建立一个仓库 而后加入本地的公钥上传到github上面的setting里面的SSH-KEY

本地建立秘钥 # ssh-keygen -t rsa 公钥上传到setting 设置SSH Key
#cd /root/oldboy #git remote add origin git@github.com:yefei520
/demo.git #git pull #git pull origin master #git push -u origin master

 

git Tag标签

建立标签

#git tag -a v1.2 -m "information" #上面的命令咱们建立了本地一个版本V1.2,而且添加了附注信息 ‘information’ #查看标签 #git tag v1.2 #获取标签显示附注信息 #git show v1.2

 

可是目前这个标签仅仅是提交到了本地git仓库,如何同步到远程代码库

tag远程推送

#git push origin --tags 这样咱们就把本地版本推送到了远程代码仓库

 

若是刚刚同步上去,你缺发现一个致命bug ,须要从新打版本,如今还为时不晚.

 

删除标签:

#git tag -d v1.2

到这一步咱们只是删除了本地 V1.2的版本,但是线上V1.2的版本仍是存在,如何办?

这时咱们能够推送的空的同名版本到线下,达到删除线上版本的目标:

#git push origin :refs/tags/v1.2

这时本地和远程的 V1.2 版本已经被咱们移除掉.

 

如何获取远程版本:

#git fetch origin tag v1.2

这样咱们能够精准拉取指定的某一个版本.适用于运维同窗部署指定版本.

 

 

 

 

 

Github 是国外的 比较慢 并且是公开的  若是要加密 须要钱  可是有开源的Gitlab 开源的软件 能够替代Github 咱们开下一章 如何安装Gitlab

相关文章
相关标签/搜索