1. 程式人生 > >Gitlab常用指令整理

Gitlab常用指令整理

一、首先比較svn與git的區別

比較內容  svn  git
分散式  不是  是
線上閱讀  不支援  支援,並且可以線上編輯
完整性  一般  優秀
離線工作  不能看日誌

 沒問題

儲存方式  按檔案  按元資料
分支  一個完整的目錄  隨意開闢無限個分支

 

 

 

 

 

 

 

 

其中SVN是集中式版本控制系統,Git是分散式版本控制系統,其工作流程如下:

central-repo

                                集中式版本控制系統


distributed-repo

                                分散式版本控制系統

      如今CVS作為最早的開源而且免費的集中式版本控制系統,直到現在還有不少人在用。由於CVS自身設計的問題,會造成提交檔案不完整,版本庫莫名其妙損壞的情況。同樣是開源而且免費的SVN修正了CVS的一些穩定性問題,是目前用得最多的集中式版本庫控制系統。

      而分散式版本控制系統有BitKeeper(促使2005年linus花兩週時間寫出了Git,一月內linux系統原始碼就由Git管理),還有類似Git的Mercurial和Bazaar等。這些分散式版本控制系統各有特點,但最流行的依然是Git,因為它最快,並且使用簡單。

二、Gitlab常用指令

2.1 Gitlab啟動、停止與重啟

sudo gitlab-ctl start 啟動Gitlab

sudo gitlab-ctl stop 停止Gitlab
sudo gitlab-ctl restart 重啟Gitlab

2.2 Git常用指令

git branch 檢視本地所有分支 

git status 檢視當前狀態 

git commit 提交 

git branch -a 檢視所有的分支 

git branch -r 檢視本地所有分支 

git commit -m "註釋" 提交併且加註釋 

git remote add origin [email protected]:ndshow 

git push origin master 將檔案給推到伺服器上 

git remote show origin 顯示遠端庫origin裡的資源 

git push origin master:refs/for/master 即是將本地的master分支推送到遠端主機origin上的對應 
         master分支,origin 是遠端主機名,第一個master是本地分支名,第二個master是遠端分支名。

git checkout --track origin/dev 切換到遠端dev分支 

git branch -D master develop 刪除本地庫

develop git checkout -b dev 建立一個新的本地分支

dev git merge origin/dev 將分支dev與當前分支進行合併 

git checkout dev 切換到本地dev分支 

git remote show 檢視遠端庫 

git add .  把工作時的所有變化提交到暫存區,包括檔案內容修改以及新檔案,但是不包括刪除的檔案

git rm 檔名(包括路徑) 從git中刪除指定檔案 

git clone [email protected]:jjf/test.git 從本地伺服器上將程式碼給拉下來 

git config --list 看所有使用者 

git ls-files 看已經被提交的 

git rm [file name] 刪除一個檔案 

git commit -a 提交當前repos的所有的改變 

git add [file name] 新增一個檔案到

git index git commit -v 當你用-v引數的時候可以看commit的差異 

git commit -m "commit的資訊" 新增commit資訊 

git commit -a -a是代表add,把所有的change加到git index裡然後再commit 

git commit -a -v 一般提交命令 

git log 看你commit的日誌 

git diff 檢視尚未暫存的更新 

git rm a.a 移除檔案(從暫存區和工作區中刪除) 

git rm --cached a.a 移除檔案(只從暫存區中刪除) 

git commit -m "remove" 移除檔案(從Git中刪除) 

git rm -f a.a 強行移除修改後檔案(從暫存區和工作區中刪除) 

git diff --cached 或 git diff --staged 檢視尚未提交的更新 

git stash push 將檔案給push到一個臨時空間中 

git stash pop 將檔案從臨時空間pop下來

2.3 遠端倉庫相關命令

git clone git://github.com/jquery/jquery.git  檢出倉庫

git remote -v  檢視遠端倉庫

git remote add [name] [url]  新增遠端倉庫

git remote rm [name]  刪除遠端倉庫

git remote set-url --push[name][newUrl]  修改遠端倉庫

git pull [remoteName] [localBranchName]  拉取遠端倉庫

git push [remoteName] [localBranchName]  推送遠端倉庫

2.4 版本操作相關命令

git tag  檢視版本

git tag [name]  建立版本

git tag -d [name]  刪除版本

git tag -r  檢視遠端版本

git push origin [name]  建立遠端版本(本地版本push到遠端)

git push origin :refs/tags/[name]  刪除遠端版本