git常用命令,git版本管理,git代碼提交,這些可滿足大部分需求

本文僅討論客戶端的使用。git命令特別多,且大都支持帶各種參數,因此達到某個目的的方法是多種多樣的,以下僅爲示例

以 下面的兩個前提爲例:

  • 用戶名:[email protected]
  • 對應用戶名:xiaowang
  • 服務器爲:192.168.2.06
  • 倉庫名:teststo
  • 倉庫teststo已包含分支:master 、test_t1、test_t2

0. 安裝git工具

  • windows上可安裝git bash客戶端
  • ubuntu上使用apt-get安裝git
  • 可視化輔助工具(可選):
    • gitk,如果不支持則安裝該工具(linux/windows均可使用)
    • TortoiseGit,和svn的Tortoisesvn幾面類似(windows上可用)

1. 從服務器clone代碼

git clone [email protected]:/proj/teststo

2. 檢出開發要基於的遠端分支到本地

2.1 查看所有分支(含local端、remote端):
git branch -a 
2.2 創建並檢出同名本地分支:

** eg. 檢出遠端的test_t1到本地,並命名爲同名本地分支test_t1 **
git checkout -t origin/test_t1

*** 或者:eg. 檢出遠端的test_t1到本地名爲xx_tt1本地分支 ***
git checkout -b xx_tt1 origin/test_t1

3. 修改代碼

4. 添加提交內容,並填寫提交說明

4.1 查看該路徑下的所有修改:
	git status .
4.2 添加修改的指定文件file1和file_n
	git add file1 file_n
或者將當前路徑下的所有修改都add上
	git add .

4.3 添加提交說明(建議最佳方式)

	git commit -s

建議commit的格式(三部分)
如:

 【FD協議】: 修改xx
 (空行)
  修改了什麼;爲什麼修改;如何驗證;說清楚一些東西,以便後續查看;
 (空行)
  signed by:“[email protected]” (本行是commit 跟了-s參數自動生成的)

重要提示
追加提交: git commit --amend要常用
每次修改一個功能,不是一蹴而就的,只要沒有git push,這個提交就是可以再次進行修改的, 如下示意amend何時使用:
在這裏插入圖片描述

5. 推送到服務器

若本地分支名和想提交到的分支是名字相同的,直接push即可:
git push
或者:git push origin HEAD
若名字不同(以想推送到遠端分支test_t1爲例):
git push origin HEAD:test_t1

6. 附:其他常用指令

6.1 配置用戶名、郵箱(commit -s要使用的提交簽名):

git --config–global user.email “[email protected]
git --config–global user.name “xiaowang”

6.2 免密碼輸入:

ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh 192.168.2.06

6.3 統計總的歷史提交的commit總數:

git rev-list --all --count

6.4 刪除分支:

eg. 刪除xxx分支: git branch -D xxx

6.5 查看提交記錄

可以帶各種參數
git log
git log --online

git show xxx_hash_id

6.6 查看差異

git diff filename_xx
git diff filename_xx hash_id1 hash_idx

6.7 製作補丁、打補丁

git format-patch -nx (x表示製作git log能看到的近來n各提交, 針對的是當前local分支的最後一個commit,補丁名字分別以0001~ x開頭)
git format-patch xxhash_id -nx (x表示製作git log能看到的從xxhash_id往前的n個提交, 針對的是當前local分支的最後一個commit,補丁名字分別以0001~ x開頭)

git am xxx.patch

6.8 創建遠端分支
6.8.1 先創建一個本地分支

(本地分支和遠端分支同名爲例,當然可以不同)

git checkout -b test_t3

(僅跟本地分支名,則新的分支,是基於checkout前使用的本地分支所指向的遠端分支,來創建的本地分支的)

6.8.2 將這個本地分支推送到遠端(創建新分支,同名的新的遠端分支)
git push origin test_t3:test_t3

使用git branch -a即可看到遠端已包含該新分支

6.9 忽略不在版本控制中的文件

使用.gitignore
注意只能忽略沒有被track的文件,如果某個文件已經是被納入版本管理的,修改.gitignore是忽略不掉該文件的。
自己創建要給.gitignore文件:按簡單的規則填寫過濾哪些,,然後通過下面的指令生效:
git config --global core.excludesFile .gitignore

其他還有很多

如標準的提交,一般都使用git merge相關的流程。只是我感覺比較麻煩。
在這裏插入圖片描述

不定時根據使用情況,更新本文!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章