Git 系列之四 Git 高階功能

2021-06-19 10:52:09 字數 2445 閱讀 9577

在我們的《windows 下 git 配置與使用指南》 中,有介紹大家使用 $ git go 命令。其實,這並非 git 的原生命令,它是我們自定義的乙個 alias(別名),由 $git add、$git commit、$git push 和 $git pull 四個命令組合而成。待熟悉之後,你可以直接使用這些原生命令,或者自定義更適合自己的 alias。

新增新檔案到 git **倉庫的索引中

$ git add filename

移動或重新命名檔案

$ git mv old-filename new-filename

從工作目錄和 git **索引中刪除檔案

$ git rm filename

檢視目前工作目錄的**狀態,自上次提交以來的新增、修改和刪除等

$ git status

檢視自上次提交以來,本地**改動的具體情況

$ git diff

提交修改的**(只是提交到本地的**庫,不會推送到伺服器)

$ git commit -am '修改說明'

如果覺得剛提交的「修改說明」寫得不夠好,可輸入以下命令調整

$ git commit --amend

將自上次 push 以來的,本地歷次 commit,推送到伺服器

結合我們的實際,應該這樣寫:

$ git push origin master:your-id

其中,master 是本地的分支名;your-id 填你在伺服器上的 id,伺服器的版本庫里會有以你的 id 為名稱的分支。

將別人推送到伺服器的**,拉到你的機器裡

$ git pull

檢視修改記錄,含作者、時間、修改說明等

$ git log

顯示具體的**改動情況

$ git show

【tip】git log 命令中,每條 commit 會有一長長的字串,此即 commid id,取其前面五六位即可。

$ git show commit-id

分支管理

$ git branch

$ git branch 新分支名

$ git branch -d 欲刪除的分支名

【注意!】不要把 『-d』 寫成了 『-d』,危險!

$ git checkout file-name

$ git checkout branch-name

【注意!】該命令可能伴隨大量的檔案增刪/修改。windows 下,改動已被占用的檔案可能會被拒絕,導致版本庫出現嚴重問題。如果確實要這樣做,安全起見,最好先登出一次。

合併指定分支到當前分支:

$ git merge branch-name

還原已提交的修改(已經提交過的修改,可以反悔~)

$ git revert head

$ git revert commit-id

先將未提交的修改暫存起來,接著清除所有改動,使之與沒修改時一樣。

若你正在開發功能 a,又需立即去開發功能 b。a 的**正改到一半,未認真整理,你不想立即提交。此時……請呼叫 stash ~。

$ git stash

$ git stash pop

【tip】以上命令皆有更多引數,另有一些 git 命令我們此處沒有介紹。但是,這已足令你使用 git 時游刃有餘,你會覺得,git 簡直是一件神器!:-)

【tip】』$ git help』 與 『$ git help 命令名』 會在你需要的時候,無私地幫助你。:-)

假設執行操作:

1. 修改**

2. git commit

3. git push

解決辦法:

$ git pull

若成功,則:

$ git push origin master:your-id

完事。

衝突的檔案會有類似下面的**塊:

<<<>>>>commit id of others'

考慮你和他人對**的修改,更新成合適的內容,並刪除 <<<、===、>>> 3行標記符號,儲存檔案。

$ git commit -am "resolve conflict"

$ git push origin master:your-id

更詳細的說明,可以閱讀 $git push –help 該文件的 note about fast-forwards 一節。

Git 高階功能

tip 在我們的 windows 下 git 配置與使用指南 中,有介紹大家使用 git go 命令。其實,這並非 git 的原生命令,它是我們自定義的乙個 alias 別名 由 git add git commit git push 和 git pull 四個命令組合而成。待熟悉之後,你可以直接使...

Git 高階功能

tip 在我們的 windows 下 git 配置與使用指南 中,有介紹大家使用 git go 命令。其實,這並非 git 的原生命令,它是我們自定義的乙個 alias 別名 由 git add git commit git push 和 git pull 四個命令組合而成。待熟悉之後,你可以直接使...

git使用 高階功能

tip 在我們的 windows 下 git 配置與使用指南 中,有介紹大家使用 git go 命令。其實,這並非 git 的原生命令,它是我們自定義的乙個 alias 別名 由 git add git commit git push 和 git pull 四個命令組合而成。待熟悉之後,你可以直接使...