git常用命令與使用場景

danielmlc發表於2018-12-28

git常用命令

按照日常使用場景編寫命令組

pull專案

下拉一個新專案


 # 初始化git
 git init  
 
 # 遠端拉取倉庫  url為倉庫地址。
 git clone url 

下拉並更新本地倉庫

如果遠端庫更新,原生程式碼未做修改時 下拉遠端倉庫並覆蓋本地,命令如下:



# 更細本地某個分支
git pull `temp`

# 更新本地所有分支
git pull --all


push專案

推送一個新建專案

新建專案需要現在github上建立一個空倉庫 之後執行以下命令:


    #提交程式碼至本地倉庫
    git add .   
    
    #提交程式碼至本地倉庫
    git commit -m `註釋` 

    #指定遠端倉庫(如果之前指定過地址了跳過本次)
    git remote add origin url  

    #提交程式碼至遠端倉庫
    git push -u orgin master  

推送覆蓋遠端倉庫

如果確認要全部覆蓋遠端倉庫內容時:


   #提交程式碼至本地倉庫
    git add .   
    
    #提交程式碼至本地倉庫
    git commit -m `註釋` 

    #指定遠端倉庫(如果之前指定過地址了跳過本次)
    git remote add origin url  

    #提交程式碼至遠端倉庫
    git push -u orgin master  --force 

···

### 推送並選擇性更新專案中的內容


> 多人共同維護一個專案時,每次提交時需要合併專案再提交。


命令如下:

遠端倉庫程式碼下載到快取分支

git fetch origin master:temp

比較兩個版本 (檢視版本差異)

git diff temp

合併分支

git merge temp

手動合併完後提條至遠端倉庫 並刪除本地快取分支

git commit -m `註釋`

git push -u origin master

git branch -d temp



---

## 其他常用命令

### 配置使用者資訊
#檢視配置列表
git  config  list  


# 設定提交程式碼時的使用者資訊
 git config [--global] user.name "[name]"
 git config [--global] user.email "[email address]"

---

### 增加/刪除檔案

新增指定檔案到暫存區

git add [file1] [file2] …

新增指定目錄到暫存區,包括子目錄

git add [dir]

新增當前目錄的所有檔案到暫存區

git add .

新增每個變化前,都會要求確認

對於同一個檔案的多處變化,可以實現分次提交

git add -p

刪除工作區檔案,並且將這次刪除放入暫存區

git rm [file1] [file2] …

停止追蹤指定檔案,但該檔案會保留在工作區

git rm –cached [file]

改名檔案,並且將這個改名放入暫存區

git mv [file-original] [file-renamed]


---

### 程式碼提交

提交暫存區到倉庫區

git commit -m [message]

提交暫存區的指定檔案到倉庫區

git commit [file1] [file2] … -m [message]

提交工作區自上次commit之後的變化,直接到倉庫區

git commit -a

提交時顯示所有diff資訊

git commit -v

使用一次新的commit,替代上一次提交

如果程式碼沒有任何新變化,則用來改寫上一次commit的提交資訊

git commit –amend -m [message]

重做上一次commit,幷包括指定檔案的新變化

git commit –amend [file1] [file2] …


### 分支
# 列出所有本地分支
git branch

# 列出所有遠端分支
git branch -r

# 列出所有本地分支和遠端分支
git branch -a

# 新建一個分支,但依然停留在當前分支
git branch [branch-name]

# 新建一個分支,並切換到該分支
git checkout -b [branch]


# 切換到指定分支,並更新工作區
git checkout [branch-name]

# 合併指定分支到當前分支
git merge [branch]

 # 刪除分支
git branch -d [branch-name]

# 刪除遠端分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
---

### 遠端同步

下載遠端倉庫的所有變動

git fetch [remote]

顯示所有遠端倉庫

git remote -v

顯示某個遠端倉庫的資訊

git remote show [remote]

增加一個新的遠端倉庫,並命名

git remote add [shortname] [url]

取回遠端倉庫的變化,並與本地分支合併

git pull [remote] [branch]

上傳本地指定分支到遠端倉庫

git push [remote] [branch]

強行推送當前分支到遠端倉庫,即使有衝突

git push [remote] –force

推送所有分支到遠端倉庫

git push [remote] –all

### 配置SSK

生成sshkey命令

ssh-keygen


之後在`C:Usersdanielmlc.ssh`中查詢`id_rsa.pub`檔案。
將其中的key新增至github賬號ssk中管理即可。









相關文章