git使用指南

diss蝸牛愛學習發表於2018-08-05

下面小編牛牛給大家介紹一下自己學習工作中用到的一些git常用命令,眾所周知,git有三個工作狀態區:工作區,暫存區,歷史區

下載github,電腦和遠端github倉庫建立連結

SSH協議

一個公鑰只能配置一個賬戶,一個賬戶可以關聯多個公鑰,使用 SSH 協議來訪問 Git 倉庫,不需要每次連結都輸入賬號和密碼。ssh公鑰設定

基本配置如下(以mac為例子):

  • 獲取你的ssh祕藥

    ssh-keygen -t rsa -C <your_email@example.com>你的郵箱

  • github配置ssh,檔案中快速找到.ssh檔案

    open ~/.ssh

  • 配置第二個ssh

    ssh-keygen -t rsa -C "your_secondemail@email.com" -f ~/.ssh/second_rsa

常用git命令

日常工作中,那我們現在的開發模式來講述的話,日常master分支,開發分支在master下面的其他分支,例如:dev專案分支,如果幾個人一起開發同一個專案,都在dev分支

  • git add a.html/-A/.

將檔案新增到暫存區

  • git commit -m '提交註釋'

將檔案新增到歷史區

  • git pull origin dev

從遠端倉庫dev拉取最新程式碼

  • git push origin dev

修改內容推送到遠端倉庫dev

  • git log / git log --pretty=oneline

查詢提交commit版本,命令列退出編輯,點選esc,再點選:再之後wq ,回車即可退出;

  • git reset --hard HEAD^/ git reset --hard 1094a(版本號)
  • git reflog 針對reset回退,需要再回到reset之前
  • git checkout -- 檔案

清掉工作區的內容,針對還沒有add的檔案,丟掉工作區的程式碼

  • git reset HEAD 檔案

add到暫存區使用該命令撤回到歷史區

從遠端倉庫刪除託管在git上面的檔案,比如.git或者node_modules檔案等

如果在.gitignore檔案少些了些忽略檔案並且不小心把程式碼提交到了遠端倉庫,每次提交都有一大堆檔案,如何解決此問題,步驟如下:

  • 新加ignore檔案 node_modules/
  • 然後刪除遠端分支上面的多餘檔案 git rm -r --cached node_modules
  • 再然後將本地修改的檔案提交到遠端倉庫中 add+commit+push

分支管理

  • 新建並切換分支test git checkout -b test
  • 檢視當前分支 本地/遠端 git branch/git branch -a
  • 分支合併 git merge test

切記:在test分支切換到別的分支,進行分支合併,git log查詢不到合併細節,fast-forward合併

  • 分支合併(帶歷史記錄版本)

    git merge test --no-ff -m 'merge with no-ff' test

  • 刪除分支: 本地/遠端 git branch -D test / git push origin --delete test

切記:在test分支切換到別的分支才可以刪除分支

本地遠端分支多人協作

  • 新建分支並和遠端連線 git checkout -b dev origin/dev
  • 新建分支並和遠端連線 git branch --set-upstream dev origin/dev

Git push —set-upstream origin dev

git版本回退

遵循三要素,歷史回工作前,暫存回工作後,工作後回工作前