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

相關文章
相關標籤/搜索