1. 程式人生 > >詳細的Git使用指南

詳細的Git使用指南

在我們的日常工作生活中,沒有人可以記住所有應該記住的東西,以前人們可能使用紙質或其他一些易於丟失,損壞的媒介來做工作生活記錄,隨著社會的進步,我認為有一種工作方式可以十分理想的幫助我們進行工作的記錄,那就是Git+Github+Markdown。    本文詳細記錄一下Git的使用。

Git的安裝

Git的安裝沒有什麼需要我們特別注意的地方,下載後一路next即可,唯一需要注意的是安裝路徑最好別有中文。安裝完成後在開始選單會有Git目錄即說明安裝成功。

Git的使用

從Git目錄裡點選git bash,會出現一個黑屏終端,這是一個仿Linux的終端,裡面執行的是Linux的命令。

  1. 上Github官網建立一個賬戶

  2. 配置使用者名稱:git config --global user.name “你自己Github的使用者名稱”

  3. 配置郵箱: git config --global user.email “你自己github註冊郵箱”

  4. 版本庫問題: 1>.什麼是版本庫: 有名倉庫,可以理解為一個目錄,這個目錄裡所有的檔案都可以被Git管理起來,每個檔案的修改,刪除,Git都能跟蹤,以便任何時刻都有一個追蹤歷史,或者將來某個時刻可以還原 2>建立版本庫: 在你願意的地方建立一個資料夾 ,從終端進入檔案目錄(這裡注意在終端輸入cd 後將資料夾直接拖入終端,因為這是Linux,路徑和windows肯定不同)。 常用Linux命令: pwd:展示當前工作目錄 ls -a :當前檔案下內容 cd … :進入上一級目錄 然後在當前目錄下執行命令:git init ,這樣會在你創立的資料夾下生成一個.git的檔案(預設隱藏),但你可以在終端執行ls -a來找到他,注意這個.git檔案千萬不要修改

  5. 把檔案新增到倉庫: 在倉庫建立或新增檔案到倉庫,執行命令 git add “檔名”,這樣才算將檔案新增到倉庫。

  6. 將檔案提交到倉庫: git commit -m “註釋資訊”

  7. git status 命令:可以檢視當前倉庫的狀態,如果對倉庫的檔案進行任何修改,這裡都有提示

  8. git diff 命令:可以檢視檔案修改的內容。

  9. git log命令:可以顯示從最近到最遠的提交日誌

  10. git --pretty=oneline 將日誌以一行提交。

  11. 版本回退: git reset --hard HEAD^:回退到上個版本。 git reset --hard HEAD^^:回退到上上個版本。 git reset --hard 具體版本號 回退到具體某個版本(版本號輸入前幾個就行,不需要全部輸入)

  12. git reflog命令:記錄了每一次執行的命令。

  13. git checkout – filename:撤銷的命令: 1.如果檔案自動修改後還沒有被放到快取區,現在,撤銷修改就會返回到和版本庫一樣的狀態 2.如果檔案已經被新增到快取區後,又做了修改,現在,撤銷修改就會回到新增到快取區後的狀態 總之,就是讓這個檔案回到最後一次git commit或者git add時的狀態。 注:我們書寫程式碼 add 就是提交到了快取區,然後commit就到了版本區

建立遠端倉庫

通過上面的步驟我們已經完成了本地倉庫的建立,接下來我們建立github的遠端倉庫。

  1. 建立SSH Key(祕鑰是確定可以向gitbhub上傳檔案的電腦): 在終端輸入:ssh-keygen -t rsa -C “郵箱” 記住儲存key的地址 然後回車兩級,進入地址目錄(.ssh的目錄) cat id_rsa.pub,然後複製s開始到m(也就是開始到結束,別用記事本,用sublim等軟體,否則會出現格式問題) 登入gitbub,進入setting,SSH選項,點選新增祕鑰,然後將複製的內容貼上進去。

  2. 建立遠端倉庫

  3. 關聯遠端倉庫地址: 電腦地址(這裡要轉到檔案目錄下)關聯遠端倉庫地址(遠端倉庫地址是綠色的clone那個選項的SSH下路徑) 執行命令:git remote add origin [email protected]遠端倉庫地址

  4. 刪除關聯 git remote rm origin

  5. 推送本地庫內容到遠端庫:git push origin master 注意:需要先把遠端庫內容拉倒本地,否則會報錯。 拉取遠端庫內容到本地庫: git pull origin master --allow-unrelated-histories。 執行命令可能會進入vim 直接:q就可以退出來

到這步我們實現了本地庫和github庫的連線,我們可以將本地的內容推送到遠端倉庫。

從遠端庫到本地庫

我們在實際應用中最常使用的是從遠端倉庫拉取檔案,然後進行工作最後再提交,一下是遠端到本地的操作。

  1. 在github選擇遠端庫,並克隆他的地址
  2. 在黑屏終端輸入:git clone +ssh地址
  3. 進入下載好的本地庫進行開發工作

Git分支

作用:假設你需要開發一個新功能,但是需要兩週才能完成,第一週寫了50%,如果立即提交因為 程式碼還沒有寫完,不完整的程式碼會導致別人不能幹活了,但如果等程式碼全部寫完再一次提交,又會存在丟失每天進度的巨大風險。 有了分支可以解決上述的問題,建立一個屬於自己的分支,別人看不到,還繼續在原來的分支上正常工作,而我們在自己的分支上幹活,想提交就提交,直到開發完畢後,再一次性合併到原來的分支上,這樣既安全又不影響別人的工作。

特點:git的分支是與眾不同的,無論建立,切換和刪除分支,Git在非常短的時間內就能完成!無論版本庫是一個檔案還是一萬個檔案

master主分支:在版本回退中,每次提交,Git都把他們串成一條時間線,在Git裡,這個分支叫做主分支,既master分支。HEAD嚴格來說不是志向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是當前的分支。

每次提交,master分支都會向前移動一步,這樣隨著不斷提交,master分支也越來越長

建立分支:git branch 分支名

檢視當前分支:git branch

切換分支:git checkout 分支名

建立與切換同時進行:git checkout -b 分支名

將分支內容整合到master上: 首先,切換到master分支 然後 git merge +分支名

建立遠端分支:git push --set-upstream origin 分支名

切換到本地某個分支工作: 一:在github建立遠端庫,並克隆他的地址

二:在黑屏終端輸入:git clone +ssh地址

三:git checkout -b 分支名

 git pull origin 分支名