亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

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

2020-02-02 19:00:28
字體:
來源:轉載
供稿:網友

Git 是一個非常強大的工具,它包含豐富的工具用以維護項目。本文介紹了一些 Git 日常使用過程中的實用技巧和命令,希望這些內容能夠對大家有所幫助。

一、Git diff比對命令

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

git diff branch1 branch

命令來實現。

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

git diff --cached

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

二、Git恢復暫存區命令

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

git rm path/to/file --cached

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

git rm file -f

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

三、Git reset恢復改動命令

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

git reset

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

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

git reset --hard

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

git reset --mixed

這也是git reset命令的默認行為。混合的重置會保留當前工作目錄中的改動。最后,如果僅僅希望修改分支的 HEAD,可以通過

git reset --soft

來實現。

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

git reset --hard COMMIT_ID

恢復到指定的提交版本。

四、Git stash

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

git stash --include-untracked

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

git stash list

它能列出臨時儲藏區中的內容。

五、Git查看歷史記錄

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

git log --graph --decorate --oneline

它可以用于展示經過修飾的提交歷史。這個命令非常冗長,因此我建議可以為它創建一個別名(這可能是所有技巧中最有用的,因為許多命令都比較難記)。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

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

git log --grep apples --oneline

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

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

對于分支可以使用

git log branch_name..master --oneline

六、Git恢復錯誤提交命令

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

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

git commit --amend

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

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

git rebase -i origin/master

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

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

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

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

git revert COMMIT_ID

該命令會創建一個新的提交,讓當前項目狀態恢復到指定提交之前。

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

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

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

git cherry-pick COMMIT_ID

以上七個命令是我們日常工作中經常用到的命令,Git還有很多方便好用的命令我們會繼續分享給大家,希望對大家有所幫助,下面的鏈接是其它有關Git的使用方法有興趣的可以詳細閱讀

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品jizz在线观看麻豆| zzjj国产精品一区二区| 亚洲欧美资源在线| 国产精品免费一区二区三区都可以| 欧美一级大胆视频| 欧美成人精品在线观看| 亚洲欧美国产精品久久久久久久| 日韩欧美在线视频| 欧美日韩免费看| 国产精品中文久久久久久久| 久久久国产一区二区三区| 中文字幕亚洲激情| 亚洲字幕在线观看| 国产日韩欧美黄色| 欧美激情一区二区三级高清视频| 欧美大片在线看| 在线成人激情视频| 日韩一二三在线视频播| 夜夜嗨av色一区二区不卡| 日韩精品免费综合视频在线播放| 国产又爽又黄的激情精品视频| 欧美激情视频在线免费观看 欧美视频免费一| 中文字幕视频在线免费欧美日韩综合在线看| 97**国产露脸精品国产| 成人激情在线播放| 精品无人国产偷自产在线| 亚洲va久久久噜噜噜| 97在线观看视频国产| 成人精品久久一区二区三区| 亚洲女人天堂视频| 亚洲图片在区色| 日韩激情av在线免费观看| 精品国产91久久久| 91中文字幕一区| 久久国产精品首页| 亚洲一级片在线看| 精品福利樱桃av导航| 这里只有精品视频在线| 日韩欧美第一页| 欧美性资源免费| 91在线|亚洲| 91色在线观看| 久久久国产影院| 69国产精品成人在线播放| 亚洲国产精彩中文乱码av在线播放| 久久久人成影片一区二区三区| 亚洲国产成人精品女人久久久| 亚洲已满18点击进入在线看片| 日韩免费观看av| 亚洲永久在线观看| 日韩在线一区二区三区免费视频| 日韩一区视频在线| 欧美日韩人人澡狠狠躁视频| 欧美国产视频日韩| 亚洲精品免费网站| 精品毛片三在线观看| 精品亚洲va在线va天堂资源站| 亚洲韩国欧洲国产日产av| 韩日精品中文字幕| 26uuu国产精品视频| 国产深夜精品福利| 亚洲人成77777在线观看网| 丝袜一区二区三区| 亚洲国产福利在线| 国产一区二区三区高清在线观看| 高清在线视频日韩欧美| 久久久99久久精品女同性| 国产九九精品视频| 日韩不卡在线观看| 久久久久久久久久久网站| 奇米成人av国产一区二区三区| 精品久久久在线观看| 夜色77av精品影院| 亚洲精品一区二三区不卡| 亚洲成人黄色网址| 久久久久久久国产精品视频| 中文字幕日韩专区| 国内免费精品永久在线视频| 色综合久久中文字幕综合网小说| 成人久久精品视频| 亚洲第一免费播放区| 欧美噜噜久久久xxx| 日韩激情第一页| 亚洲国产一区二区三区四区| 亚洲国产欧美日韩精品| 日韩精品一二三四区| 91精品国产高清自在线看超| 日本一区二区在线播放| 国产精品无码专区在线观看| 欧美亚洲国产成人精品| 日韩在线播放av| 亚洲欧美日韩国产成人| 欧美性xxxx| 久久久久亚洲精品国产| 亚洲精品一区二三区不卡| 日韩在线观看免费全| 日本不卡视频在线播放| 亚洲精品国产精品国自产观看浪潮| 亚洲天堂成人在线视频| 欧美极品xxxx| 国产婷婷色综合av蜜臀av| 欧美有码在线视频| www.美女亚洲精品| 久久在线视频在线| 国内精久久久久久久久久人| 国产精品久久久久免费a∨大胸| 668精品在线视频| 欧美精品一本久久男人的天堂| 国产成人精品一区二区| 欧美国产日韩中文字幕在线| 国产视频精品久久久| 中文字幕亚洲欧美日韩在线不卡| 亚洲а∨天堂久久精品9966| 在线亚洲午夜片av大片| 久久精品视频va| 亚洲国产精品美女| 欧美专区国产专区| 日韩黄在线观看| 欧美在线播放视频| 国产高清在线不卡| 性欧美长视频免费观看不卡| 亚洲精品免费在线视频| 原创国产精品91| 欧美日韩中文字幕综合视频| 国产精品久久久久久久久| 久久精品免费电影| 日本久久久久久久久久久| 久久久久九九九九| 日韩电影在线观看永久视频免费网站| 日韩成人xxxx| 国产成人福利夜色影视| 国产z一区二区三区| 久久综合亚洲社区| 国产精品一区二区三区在线播放| www.亚洲男人天堂| 国产精品永久免费| 日韩网站免费观看| 欧美日韩在线观看视频小说| 久久99久久亚洲国产| 91高清视频免费观看| 久久乐国产精品| 欧美—级a级欧美特级ar全黄| 亚洲人a成www在线影院| 久久久精品中文字幕| 欧美激情综合色| 欧美区在线播放| 亚洲黄色www| 岛国av午夜精品| 精品视频久久久| 日韩av免费观影| 97香蕉超级碰碰久久免费的优势| 欧美自拍大量在线观看| 国产精品99久久久久久久久久久久| 精品美女永久免费视频| 亚洲va欧美va在线观看| 国产在线一区二区三区| 91精品国产综合久久男男| 国产精品黄色av| 欧美日韩成人在线视频| 久久婷婷国产麻豆91天堂| 91网在线免费观看| 国产99久久精品一区二区| 51精品国产黑色丝袜高跟鞋| 国产精品无码专区在线观看|