【Git常用基本命令】

我是太陽啦啦啦發表於2018-02-25

一、為什麼要用Git?
版本控制系統
有CVS、SVN。速度慢,必須聯網才能使用。SVN是目前用的最多的集中式版本控制系統。
分散式版本控制系統
Git、BitKeeper、Mercurial和Bazaar等。這些分散式版本控制系統各有特點,但最快,最簡單的也最流行的依然是Git。
分散式版本控制系統的最大好處之一是在本地工作完全不需要考慮遠端庫的存在,也就是沒有聯網都可以正常工作,當有網路的時候,再把本地提交推送一下就完成了同步,真是太方便了。而SVN在沒有聯網的時候是拒絕幹活的!
二、Git的基本命令

    A、新建程式碼庫
# 在當前目錄新建一個Git程式碼庫
$ git init
# 新建一個目錄,將其初始化為Git程式碼庫
$ git init [project-name]

# 下載一個專案和它的整個程式碼歷史
$ git clone [url]
B、配置
Git的設定檔案為.gitconfig,它可以在使用者主目錄下(全域性配置),也可以在專案目錄下(專案配置)。

# 顯示當前的Git配置
$ git config --list

# 編輯Git配置檔案
$ git config -e [--global]

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

C、程式碼提交


# 提交暫存區到倉庫區
$ 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]

# 新建一個分支,指向指定commit
$ git branch [branch] [commit]

# 新建一個分支,與指定的遠端分支建立追蹤關係
$ git branch --track [branch] [remote-branch]

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

# 切換到上一個分支
$ git checkout -

# 建立追蹤關係,在現有分支與指定的遠端分支之間
$ git branch --set-upstream [branch] [remote-branch

# 合併指定分支到當前分支
$ git merge [branch]
# 選擇一個commit,合併進當前分支
$ git cherry-pick [commit]
# 刪除分支
$ git branch -d [branch-name]
# 刪除遠端分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]