作者 | Shusain
譯者 | liuxinyu123
在之前的教程[1]中,我們已經學習了在機器上安裝 git。本教程,我們將討論如何使用 git,比如與 git 一起使用的各種命令。所以我們開始吧。
設定使用者資訊
這應該是安裝完 git 的第一步。我們將新增使用者資訊 (使用者名稱和郵箱),所以當我們提交程式碼時,會產生帶有使用者資訊的提交資訊,這使得跟蹤提交過程變得更容易。要新增使用者資訊,命令是 git config
:
$ git config --global user.name "Daniel"
$ git config --global user.email "dan.mike@xyz.com"
新增完使用者資訊之後,透過執行下麵命令,我們將檢查這些資訊是否成功更新。
$ git config --list
我們應該能夠看到輸出的使用者資訊。
GIT 命令
新建一個倉庫
為了建立一個新倉庫,執行如下命令:
$ git init
查詢一個倉庫
為了查詢一個倉庫,命令如下:
$ git grep "repository"
與遠端倉庫連線
為了與遠端倉庫連線,執行如下命令:
$ git remote add origin remote_server
然後檢查所有配置的遠端伺服器,執行如下命令:
$ git remote -v
克隆一個倉庫
為了從本地伺服器克隆一個倉庫,執行如下程式碼:
$ git clone repository_path
如果我們想克隆遠端伺服器上的一個倉庫,那克隆這個倉庫的命令是:
$ git clone repository_path
在倉庫中列出分支
為了檢查所有可用的和當前工作的分支串列,執行:
$ git branch
建立新分支
建立並使用一個新分支,命令是:
$ git checkout -b 'branchname'
刪除一個分支
為了刪除一個分支,執行:
$ git branch -d 'branchname'
為了刪除遠端倉庫的一個分支,執行:
$ git push origin:'branchname'
切換到另一個分支
從當前分支切換到另一個分支,使用
$ git checkout 'branchname'
新增檔案
新增檔案到倉庫,執行:
$ git add filename
檔案狀態
檢查檔案狀態 (那些將要提交或者新增的檔案),執行:
$ git status
提交變更
在我們新增一個檔案或者對一個檔案作出變更之後,我們透過執行下麵命令來提交程式碼:
$ git commit -a
提交變更到 head 但不提交到遠端倉庫,命令是:
$ git commit -m "message"
推送變更
推送對該倉庫 master 分支所做的變更,執行:
$ git push origin master
推送分支到倉庫
推送對單一分支做出的變更到遠端倉庫,執行:
$ git push origin 'branchname'
推送所有分支到遠端倉庫,執行:
$ git push -all origin
合併兩個分支
合併另一個分支到當前活動分支,使用命令:
$ git merge 'branchname'
從遠端伺服器合併到本地伺服器
從遠端伺服器下載/拉取變更到到本地伺服器的工作目錄,執行:
$ git pull
檢查合併衝突
檢視對庫檔案的合併衝突,執行:
$ git diff -base 'filename'
檢視所有衝突,執行:
$ git diff
如果我們在合併之前想預覽所有變更,執行:
$ git diff 'source-branch' 'target-branch'
建立標記
建立標記來標誌任一重要的變更,執行:
$ git tag 'tag number' 'commit id'
透過執行以下命令,我們可以查詢 commit id :
$ git log
推送標記
推送所有建立的標記到遠端伺服器,執行:
$ git push -tags origin
回覆做出的變更
如果我們想用 head 中最後一次變更來替換對當前工作樹的變更,執行:
$ git checkout -'filename'
我們也可以從遠端伺服器獲取最新的歷史,並且將它指向本地倉庫的 master 分支,而不是丟棄掉所有本地所做所有變更。為了這麼做,執行:
$ git fetch origin
$ git reset -hard master
好了,夥計們。這些就是我們使用 git 伺服器的命令。我們將會很快為大家帶來更有趣的教程。如果你希望我們對某個特定話題寫一個教程,請透過下麵的評論箱告訴我們。像往常一樣, 歡迎您的各種意見和建議。
via: http://linuxtechlab.com/beginners-to-pro-guide-for-git-commands/
作者:Shusain[3] 譯者:liuxinyu123 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出