github經常使用命令

一 本地倉庫git

1 安裝gitgithub

sudo apt-get install git

 2 安裝完成後進行設置網絡

git config --global user.name '  username '
git config --global user.email 'email'

3 建立版本庫。首先建立一個空目錄,而後把這個目錄變成git能夠管理的倉庫app

mkdir mygit
cd mygit 
git init

  使用ls -ah能夠查看該目錄下有一個.git文件ssh

4 添加文件readme.txt到倉庫,把文件提交到倉庫ui

git add readme.txt     #添加文件
git add                #修改文件後可直接使用git add將修改保存到暫存區
git commit -m 'wrote a readme.txt'  #-m 後面是本次提交的說明,git commit只負責提交把暫存區的修改提交
git status  #查看結果
git diff  HEAD -- readme.txt  #查看工做區和版本庫最新版的區別,顯示的是unix通用的diff格式
git log     #查看提交歷史記錄
git log --pretty=oneline #簡版(一個提交一行)展現git log命令結果,等號左右兩邊不能有空格
git reflog  #查看命令歷史記錄,這樣能夠找到已刪除的提交版本號

5 HEAD 表示當前版本,即最近一次提交unix

   HEAD^  上一個版本code

   HEAD^  上上一個版本server

   HEAD~100 往上一個版本rem

git reset --hard HEAD^   #回退到上一個版本
git reset --hard 3628164 #數字是版本號的部分,命令表示回到版本號所對應的版本,版本號可由git log獲得

6 撤銷修改

  命令git checkout -- readme.txt意思就是,把readme.txt文件在工做區的修改所有撤銷,這裏有兩種狀況:

  一種是readme.txt自修改後尚未被放到暫存區,如今,撤銷修改就回到和版本庫如出一轍的狀態;

  一種是readme.txt已經添加到暫存區後,又做了修改,如今,撤銷修改就回到添加到暫存區後的狀態。

  總之,就是讓這個文件回到最近一次git commitgit add時的狀態。

git checkout -- file  #撤銷的是add或commit後又作的修改,撤銷對工做區的修改   若是沒有 -- 這變成轉到另外一個分支的命令
git reset HEAD file   #撤銷對暫存區的修改,讓已add的文件回到未add的狀態

7 刪除文件

  •  直接在文件管理器中把文件刪了,或用rm命令刪了

rm test.txt
  • 從版本庫中刪除

git rm test.txt
git commit -m '...'

能夠從之前的版本庫裏恢復文件

git checkout -test.txt

二  遠程倉庫

1 在用戶主目錄下建立SSH Key,並在github中account settings 的SSH keys頁面把建立的.ssh/id_rsa.pub文件的內容複製到ADD SSH Key裏,title任意

ssh -keygen -t rsa -C 'email'

2 添加遠程庫

git remote add origin git@server-name:path/repo-name.git

3 把本地庫的內容推送到遠程庫上

git push -u origin master #第一次推送
git push origin master #之後推送

4 從遠程庫中克隆

git clone git@server-name:path/repo-name.git

5 建立與合併分支

  • 建立並切換到分支dev

git checkout -b dev
#至關於
git branch dev
git checkout dev
##############
git branch #查看當前分支
git merge dev #合併分支
git branch -d dev #刪除分支
git log --graph --pretty=oneline --abbrev-commit #查看分支狀況
git log --graph  #查看分支圖
  • Fast forward模式,刪除分支後會去掉分支信息,禁用Fast forward:

git merge --no-ff -m '....' dev

6 Bug分支

git stash #保存現場
git stash list #查看保存的現場
git stash pop #恢復現場 至關於:
git stash apply
git stash drop
#####################
git branch -D <branch-namde> #丟棄沒有合併的分支

7 查看遠程庫信息

git remote
git remote -v #顯示更詳細信息
git pull #抓取最新的提交

8 將本地分支dev與遠程origin/dev分支連接,這裏建立的是跟蹤分支。另外還有遠程跟蹤分支,

遠程跟蹤分支是遠程分支狀態的引用。 它們是你不能移動的本地引用,當你作任何網絡通訊操做時,它們會自動移動。 遠程跟蹤分支像是你上次鏈接到遠程倉庫時,那些分支所處狀態的書籤。

它們以 (remote)/(branch) 形式命名。

git branch --set-upstream dev origin/dev

9 在本地建立與遠程分支對應的分支

git checkout -b branch-name origin/branch-name

10 標籤

git tag <name> #打標籤
git tag #查看標籤
git tag <name> <commit-id> #給之前的版本打標籤
git show <tagname> #查看標籤信息
git tag -a <tag-name> -m '....' #建立帶說明的標籤 -a 指定簽名 -m 指定說明文字
git tag -s <tag-name> -m '....'    #建立帶PGP簽名標籤
git tag -d <tag-name> #刪除標籤
git push origin <tag-name> #推送標籤到遠程
git push origin --tags #一次性推送所有未推送到遠程的標籤
###刪除已經推送到遠程的標籤 :
#1 先從本地刪除
git tag -d <tag-name>
#2 從遠程刪除
git push origin :refs/tags/<tagname>

11 其餘配置

git config --global color.ui true #配置顏色
.gitignore #忽略文件
相關文章
相關標籤/搜索