Git 高階功能

2022-07-13 19:42:12 字數 2617 閱讀 4448

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

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

$ git add filename
mv

移動或重新命名檔案

$ git mv old-filename new-filename
rm

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

$ git rm filename
status

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

$ git status
diff

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

$ git diff
commit

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

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

$ git commit --amend
push

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

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

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

pull

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

$ git pull
log

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

$ git log
show

顯示具體的**改動情況

顯示最後一次 commit 修改的內容:

$ git show
顯示指定 commit 修改的內容:

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

$ git show commit-id
branch

分支管理

列出所有分支(當前所在分支前會有「*」號):

$ git branch
新建分支:
$ git branch 新分支名
刪除分支:
$ git branch -d 欲刪除的分支名
【注意!】不要把 『-d』 寫成了 『-d』,危險!

checkout

恢復某個已修改的檔案(撤銷未提交的修改):

$ git checkout file-name
切換到另外的分支,進行開發:
$ git checkout branch-name
【注意!】該命令可能伴隨大量的檔案增刪/修改。windows 下,改動已被占用的檔案可能會被拒絕,導致版本庫出現嚴重問題。如果確實要這樣做,安全起見,最好先登出一次。

merge

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

$ git merge branch-name
revert

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

還原最近一次提交的修改:

$ git revert head
還原指定版本的修改:
$ git revert commit-id
stash

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

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

它會使你所有未提交的修改瞬間不見了:

$ git stash
它會使剛剛不見了的修改,瞬間又回來了:
$ git stash pop
【tip】以上命令皆有更多引數,另有一些 git 命令我們此處沒有介紹。但是,這已足令你使用 git 時游刃有餘,你會覺得,git 簡直是一件神器!:-)

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

附:git push 失敗的解決辦法

假設執行操作:

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 系列之四 Git 高階功能

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