1. 程式人生 > >Git版本控制工具使用方法整理

Git版本控制工具使用方法整理

因為現在git是專案管理的主流,在學習使用過程中整理總結出了一些東西,特在此記錄一下。所有用法總結如圖:

  • 基礎篇
  • 遠端篇
  • 分支篇
  • 提交篇
  • 衝突篇
  • 回滾篇
  • 刪除篇
  • 檢視篇

基礎篇

命令 解釋
git init 初始化一個Git倉庫
git -rf .git 刪除版本庫

遠端篇

命令 解釋
git remote -v 檢視遠端路徑
git remote set -url origin url 設定遠端地址
git remote add name url 關聯遠端庫
git fetch name 拉取但不合並
git pull 拉取併合並
git push 推送
git clone url 克隆倉庫

分支篇

命令 解釋
git branch 檢視分支
git checkout -b new_branch 建立並切換到新的分支
git checkout master 切換到master分支
git merge other_branch 合併別的分支到當前分支
git rebase other_branch 把當前分支的提交臨時儲存為補丁並臨時刪除這些提交,合併更新另一分支,最後把補丁應用到當前分支
git branch -d branch 刪除分支
git log –graph –pretty=oneline –abbrev-commit 檢視分支合併情況

1. master分支是主分支,因此要時刻與遠端同步 2. dev分支是開發分支,團隊所有成員都需要在上面工作,所以也需要與遠端同步 3. bug分支只用於在本地修復bug,就沒必要推到遠端了,除非老闆要看看你每週到底修復了幾個bug 4. feature分支是否推到遠端,取決於你是否和你的小夥伴合作在上面開發

提交篇

命令 解釋
git add 新增檔案,可反覆多次使用,修改放在暫存區
git commit -m “comments” 將暫存區的所有修改提交到倉庫
git push origin 推送

每次修改,如果不add到暫存區,那就不會加入到commit中

這裡寫圖片描述

衝突篇

命令 解釋
git status $file 顯示衝突
cat $file 檢視衝突檔案
git add $file 處理後標記為解決
git commit -m “comments” 提交

一般在專案開發過程中,在本地分支(feature/branch)寫程式碼,提交到自己的遠端分支(origin/feature/branch)從中央庫遠端分支(upstream/feature/branch)上merge下程式碼,如果merge時有衝突需要修改

You have not concluded your merge (MERGE_HEAD exists) git拉取失敗這裡寫圖片描述

回滾篇

命令 解釋
git reset –hard commit_id 回退到commit_id這個版本
git reset –hard $HEAD 全部回退
git reset –soft $HEAD 只回退commit內容
git reset –mixed $HEAD 預設,回退commit和index

一般情況HEAD指向的版本為當前版本,使用git reset –hard commit_id(上一個版本:HEAD^,上上一個版本:HEAD^^,往上100個,寫成HEAD~100)

刪除篇

命令 解釋
git rm file 從檔案跟蹤和檔案系統刪除,刪除版本庫的檔案,記得git commit提交修改
git rm –cached file 從檔案跟蹤刪除
git checkout - file 誤刪後恢復檔案到最新版本
git push origin –delete 刪除遠端分支
git push origin : 推送一個空分支,相當於刪除遠端分支
git fetch -p fetch之後刪除掉沒有與遠端分支對應的本地分支

這裡寫圖片描述

檢視篇

命令 解釋
git status 檢視當前狀況
git diff 檢視修改內容,再通過git add和git commit 提交內容
git log 檢視提交歷史,用於回退之前
git reflog 檢視命令歷史
git log –pretty=oneline 單行日誌

在Android studio開發過程中的一些總結: Project資料夾目錄下:

  1. fork專案;
  2. 在AndroidProject的目錄下開啟git shell,輸入git clone 專案路徑(github專案下載);

專案目錄下:

  1. git checkout -b feature/refactor origin/feature/refactor匯入並且切換其他分支
  2. git remote -v 顯示遠端分支(Android);

  3. (關聯遠端庫)git remote add upstream(遠端分支名) 專案ssh地址(Android);

  4. git fetch upstream(遠端分支名)

Android studio有關git的操作: 修改程式碼,點選上邊VCS(綠色)進行選擇

  1. commit:所有操作基於這個而留下痕跡,commit message需要記錄並且記錄仔細以便之後進行回退查詢。
  2. push:把commit的內容提交到遠端專案(自己專案)中
  3. Revert:重置回專案原來的節點
  4. show diff:檢視不同,以此來了解專案的改變內容,若是隻是因為錯誤而造成的改動不commit

多人協作的工作模式通常是這樣:

  1. 首先,可以試圖用git push origin branch-name推送自己的修改
  2. 如果推送失敗,則因為遠端分支比你的本地更新,需要先用git pull試圖合併
  3. 如果合併有衝突,則解決衝突,並在本地提交
  4. 沒有衝突或者解決掉衝突後,再用git push origin branch-name推送就能成功

如果git pull提示“no tracking information”,則說明本地分支和遠端分支的連結關係沒有建立,用命令git branch –set-upstream branch-name origin/branch-name