最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

分享Git常用7大技巧和命令

 更新時間:2018年09月14日 14:25:53   投稿:wdc  
Git 是一個非常強大的工具,它包含豐富的工具用以維護項目,我們在日期工作中會經(jīng)常用到一些常用命令,本文先為大家介紹下面七個Git常用技巧和命令

Git 是一個非常強大的工具,它包含豐富的工具用以維護項目。本文介紹了一些 Git 日常使用過程中的實用技巧和命令,希望這些內(nèi)容能夠?qū)Υ蠹矣兴鶐椭?/p>

一、Git diff比對命令

通常情況下,我們會在自己的獨立分支中完成需求開發(fā),此時就會有需求將自己的分支和其他分支進行對比。這個功能可以通過

git diff branch1 branch

命令來實現(xiàn)。

如果希望對比暫存區(qū)和當前的 HEAD,那么使用

git diff --cached

命令會非常方便。普通的git diff命令默認對比的是沒有加到索引中的文件。

二、Git恢復暫存區(qū)命令

如果已經(jīng)將一些文件添加到暫存區(qū)后又后悔了,Git 提供了多個命令來實現(xiàn)這個功能,具體需要根據(jù)當時情況而定。

git rm path/to/file --cached

這個命令將文件從暫存區(qū)索引中刪除,但是仍然會將文件保留在工作目錄。這比直接使用

git rm file -f

完全刪除文件會安全一點。

三、Git reset恢復改動命令

如果希望恢復一些已經(jīng)提交的改動,我們可以使用

git reset

這個命令可以完成許多不同的行為,因此需要按照實際場景進行使用。

如果希望去除所有修改,包括索引中的內(nèi)容和工作目錄中的修改,那么可以使用

git reset --hard

如果僅僅是希望重置索引,那么可以使用

git reset --mixed

這也是git reset命令的默認行為?;旌系闹刂脮A舢斍肮ぷ髂夸浿械母膭?。最后,如果僅僅希望修改分支的 HEAD,可以通過

git reset --soft

來實現(xiàn)。

當運行git reset命令的時候,我們可以指定多個目標文件作為參數(shù)傳入。當然可以通過

git reset --hard COMMIT_ID

恢復到指定的提交版本。

四、Git stash

大家應該對git stash命令并不陌生,它可以通過git stash pop命令方便的將之前的改動恢復回來。然而,如果工作目錄中有未追蹤的文件,默認情況下是不會將其存入臨時儲藏區(qū)的。為了能夠臨時保存未追蹤的文件,可以使用

git stash --include-untracked

另外一個非常有用的命令是

git stash list

它能列出臨時儲藏區(qū)中的內(nèi)容。

五、Git查看歷史記錄

Git 自帶了非常強大的工具來查看項目以及特定文件的變更情況。我個人非常喜歡用其中的一個命令:

git log --graph --decorate --oneline

它可以用于展示經(jīng)過修飾的提交歷史。這個命令非常冗長,因此我建議可以為它創(chuàng)建一個別名(這可能是所有技巧中最有用的,因為許多命令都比較難記)。git log 命令可以顯示 HEAD、所有提交的 ID 以及分支信息。有了這些信息之后,我們可以使用

git show COMMIT_ID/HEAD/BRANCH

來顯示更詳細的信息。

有的時候我們需要了解誰對一個文件做了哪些改動,這正是

git blame path/to/file

這個命令所提供的功能。

之前提到過git diff命令,它也是一個查看歷史的工具。例如,如果需要對比當前 HEAD 和前兩個提交,可以使用

git diff HEAD HEAD~2

為了能夠展示每個提交中更詳細的更新信息,可以使用

git log --patch

如果只想要看包含關(guān)鍵字“apple”的提交,使用

git log --grep apples --oneline

要查看歷史提交記錄中兩個點之間的提交歷史,我們可以用

git log HEAD~5..HEAD^ --oneline

對于分支可以使用

git log branch_name..master --oneline

六、Git恢復錯誤提交命令

注意:以下一些命令會修改提交歷史,使用前請確保了解后再執(zhí)行。

當提交出錯時,我們可能會希望能夠修改提交歷史。我不建議修改已經(jīng)推送到遠程倉庫的提交歷史(即使 git 允許這樣做),但是對于本地倉庫的提交歷史,我個人認為還是可以修改的。通過

git commit --amend

可以刪除前一次提交,并創(chuàng)建一個新的提交記錄以替代之前的提交。

另一個我很喜歡的 git 使用技巧是交互式變基 (rebase)。它可以用來編輯提交信息,或者將多個提交壓縮成一個提交,這也是我最喜歡的一個功能。為了在遠程倉庫 origin 的 master 分支之后的所有提交上執(zhí)行交互式變基,可以使用

git rebase -i origin/master

這個命令會顯示提交列表和可執(zhí)行操作的詳細描述。例如以下操作將會把多個提交壓縮成一個:

1 pick 80f2a48 Add feature X
2 squash 2c74ea2 Add junit tests for feature X
3 squash 4k81nm5 Bugfix for feature X

最終的結(jié)果會是生成一個提交消息為“Add feature X”的提交。

如果需要恢復一個有問題的提交,我們可以使用

git revert COMMIT_ID

該命令會創(chuàng)建一個新的提交,讓當前項目狀態(tài)恢復到指定提交之前。

如果我們在修復問題時出現(xiàn)了誤操作,例如不小心刪除了不應該刪除的文件。我們還是可以從版本庫中恢復回來,因為 git 保存了所有修改的版本,包括被移除的提交。git reflog命令就是用來實現(xiàn)這個功能的。

七、Git挑揀提交(cherry-pick)

假設(shè)我們和同事在各自單獨的分支上進行開發(fā),同事有一個重要的提交我們也想應用到自己的分支上來,但是不需要對方分支的其他提交。這時我們可以使用

git cherry-pick COMMIT_ID

以上七個命令是我們?nèi)粘9ぷ髦薪?jīng)常用到的命令,Git還有很多方便好用的命令我們會繼續(xù)分享給大家,希望對大家有所幫助,下面的鏈接是其它有關(guān)Git的使用方法有興趣的可以詳細閱讀

相關(guān)文章

最新評論

宝丰县| 肇东市| 大宁县| 漳浦县| 徐水县| 龙泉市| 昌都县| 肇东市| 灵宝市| 峨眉山市| 凭祥市| 台东市| 余姚市| 高雄县| 文成县| 德惠市| 南投县| 大同县| 徐州市| 灯塔市| 昌吉市| 宜州市| 广昌县| 繁峙县| 沙田区| 伊川县| 陈巴尔虎旗| 顺平县| 岳西县| 肥乡县| 广饶县| 平塘县| 当雄县| 称多县| 德化县| 峨边| 达州市| 东乌珠穆沁旗| 普洱| 滨海县| 万全县|