1. 程式人生 > 其它 >三、git常用命令

三、git常用命令

一、初始化倉庫

1 #在當前目錄新建一個Git程式碼庫
2 git init

不用初始化倉庫,直接克隆

1 #下載一個遠端倉庫的專案和它的整個程式碼史
2 git clone [url]

二、增加/刪除檔案

 1 #新增指定檔案到暫存區
 2 git add [file1] [file2] ...
 3 
 4 #新增指定目錄到暫存區,包括子目錄
 5 git add [dir]
 6 
 7 #添加當前目錄的所有檔案到暫存區
 8 git add .
 9 ---------------------------------------------
10 #刪除工作區檔案,並將這次刪除放入暫存區
11 git rm [file1] [file2] ...

三、程式碼提交

1 #提交暫存區到倉庫區
2 git commit -m "[message]" [檔名(可選)]
3 
4 #提交暫存區的指定檔案到倉庫區
5 git commit -m "[message]" [file1] [file2] ...

四、檢視檔案資訊

1 #檢視所有檔案狀態
2 git status
3 
4 #檢視指定檔案狀態
5 git status [filename]

五、分支操作

 1 #檢視本地所有分支
 2 git branch
 3 
 4 #檢視遠端所有分支
 5 git branch -r
6 7 #檢視所有分支(本地分支和遠端分支) 8 git branch -a 9 10 #檢視每一個分支的最後一次提交 11 git branch -v 12 13 #新建一個分支(但仍然留在當前分支) 14 git branch [branch-name] 15 16 #切換到指定分支 17 git checkout [branch-name] 18 19 #新建一個分支並切換到該分支(組合用法) 20 git checkout -b [branch-name] 21 22 #拉取遠端分支並在本地建立分支(注:遠端分支前加origin) 23 git checkout -b [local_branch] origin/[remote_branch]
24 25 #建立本地倉庫(dev)和遠端倉庫(dev)的連結,這樣程式碼才能提交上去 26 git branch --set-upstream-to=origin/dev 27 #取消對master的跟蹤 28 git branch --unset-upstream master 29 30 #合併指定分支(branch-name)到當前分支(一般在master上操作) 31 git merge [branch-name] 32 33 #刪除本地分支 34 git branch -d [branch-name] 35 36 #刪除遠端分支(寫法一),危險操作 37 git branch -r -d [遠端倉庫別名/遠端分支名] 38 #刪除遠端分支(寫法二) 39 git push origin --delete [branch-name] 40 #刪除遠端分支(寫法二簡寫) 41 git push origin :[remote_branch] 42 43 #重新命名分支:如果newbranch名字已經存在,則需要使用-M強制重新命名,否則,使用-m進行重新命名 44 git branch -m|-M [oldbranch-name] [newbranch-name]

六、遠端同步

 1 #下載遠端倉庫的所有變動
 2 git fetch <遠端倉庫別名>
 3 
 4 #顯示所有遠端倉庫
 5 git remote -v
 6 
 7 #本地倉庫新增一個新的遠端倉庫,並命名
 8 git remote add [遠端倉庫別名:預設origin] [遠端倉庫地址url]
 9 
10 #下載一個專案和它的整個程式碼史
11 git clone [url]
12 
13 #拉取遠端倉庫的變化,並與本地分支合併(建立連結)
14 git pull <遠端倉庫別名> [遠端分支名]:[本地分支名]
15 #簡寫:(遠端分支名和本地分支名相同)
16 git pull <遠端倉庫別名> [分支名]
17 
18 #推送到遠端倉庫(branch-name:本地分支名)
19 git push -u <遠端倉庫別名> [branch-name]
20 #遠端已有分支,但未關聯本地分支(本地已切換到同名分支)
21 git push -u origin/remote_branch
22 
23 #建立遠端分支&推送本地分支到遠端分支
24 #1、會建立遠端分支
25 #2、遠端分支與本地分支名字相同
26 git push <遠端倉庫別名> [遠端分支名]
27 
28 #強行推送當前分支到遠端倉庫,即使有衝突
29 git push <遠端倉庫別名> --force
30 
31 #推送所有分支到遠端倉庫
32 git push <遠端倉庫別名> --all