gitlab基礎命令(轉自大神網站)
阿新 • • 發佈:2017-09-25
日誌 直接 一個 add stream 參數 key 分支合並 並且 安裝git: sudo apt-get install git
配置git:
git config --global user.name "your name"
git config --global user.email "you email"
--global:表示這臺機器上所有的git倉庫都會使用這個配置、當然也可以對某個倉庫指定不同的用戶名和Email地址。
創建git倉庫: git init
添加文件:git add
提交文件:git commit
查看倉庫當前狀態:git status
查看文件是否同步:git diff
查看git提交日誌:git log --pretty=oneline(參數可選)
版本回退:git reset --hard HEAD^
在git中,用HEAD表示當前版本,也就是最新提交的版本,上一個版本就是HEAD^,上上個是HEAD^^,上100個版本表示為HEAD~100
記錄每一次git命令:git reflog
工作區和暫存區
工作區就是電腦裏所看到的目錄
.git中的index就是暫存區
我們把文件往Git版本庫裏添加的時候,是分兩步執行的:
第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區;
第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。
撤銷修改:git checkout -- file
git checkout -- file:表示把file文件在工作區的修改全部撤銷
readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
git reset HEAD file:表示把file在暫存區的修改撤銷掉
readme.txt已經添加到暫存區後,又作了修改,現在,撤銷修改就回到添加到暫存區後的狀態。
就是讓這個文件回到最近一次git commit或git add時的狀態。
git checkout其實是用版本庫裏的版本替換工作區的版本,無論工作區是修改還是刪除,都可以“一鍵還原”。
場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。
場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操作。
場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠程庫。
刪除文件:git rm file
git commit -m‘remove file‘
如果文件刪錯了 也可以用git checkout -- file的方式恢復
git本地倉庫和遠程倉庫的傳輸加密:
1、創建 SSH Key
ssh-keygen -t rsa -C"[email protected]"
2、登陸GitHub,打開“Account settings”,“SSH Keys”頁面: 點“Add SSH Key”,填上任意Title,在Key文本框裏粘貼id_rsa.pub文件的內容:
關聯遠程倉庫和本地倉庫:
git remote add origin [email protected] :themoonstone/ubuntu_git.git(必須要在git目錄下)
把本地的內容推送到遠程倉庫:
git push -u origin master(在執行這個步驟的時候出現了“git ssh permission denied publickey”的錯誤、排查結果是ssh服務沒有啟動(真特麽坑爹))
-u參數會把本地和遠程的master關聯起來
從遠程庫克隆:git clone [email protected]:themoonstone/ubuntu_git.git
創建並切換新的分支:git checkout -b newbranch 參數-b表示創建並切換
分支合並:git merge newbranch
git merge:合並指定分支到當前分支
刪除分支:git branch -d oldbranch
強制刪除分支:git branch -D oldbranch
查看分支合並圖:git log --graph
合並分支時,加上--no-ff參數可以使用普通模式合並,合並後的歷史有分支。 另外一種是Fast forward模式,但在這種模式下,刪除分支後會丟掉分支信息
保存當前工作:git stash
查看工作現場:git stash list
恢復工作現場:git stash apply(恢復但不刪除stash內容) git stash pop(恢復並刪除stash內容)
刪除工作現場:git stash drop
恢復指定的工作現場:git stash [email protected]{0}
查看遠程倉庫信息:git remote
在本地創建和遠程分支對應的分支:git checkout -b branch-name origin/branch-name
查看遠程倉庫詳細信息:git remote -v 顯示可以用於抓取和推送的地址
推送分支:git push origin master
設置本地dev分支與遠程dev分支的連接:git branch --set-upstream dev origin/dev
抓取分支 :git pull
創建標簽:git tag tagname
指定標簽信息:git tag -a tagname -m‘infomation‘
查看所有標簽:git tag
查看指定標簽:git show tagname
刪除本地標簽:git tag -d tagname
推送一個標簽:git push origin tagname
推送所有標簽:git push origin --tags
刪除遠程標簽:git push origin:refs/tags/tagname
配置git顯示顏色:git config --global color.ui true
忽略指定文件,創建一個.gitignore 將要忽略的文件寫入該文件 .gitignore文件本身要放到版本庫裏,並且可以對.gitignore做版本管理!
強制添加文件:git add -f file
檢查 .gitignore :git check-ignore -v file
配置別名:git config --global alias.st status
配置git last顯示最後一條提交信息:git config --global alias.last ‘log -1‘
git config --global alias.lg "log --color --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset‘ --abbrev-commit"(這行還沒研究 )
配置文件:每個倉庫的GIT配置信息都放在.git/config文件中 而當前用戶的GIT配置信息放在用戶主目錄下的.gitcofig中
搭建git服務器:www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000
gitlab基礎命令(轉自大神網站)