遠離sourcetree之路的git命令列學習

2021-08-08 11:16:02 字數 1636 閱讀 8751

驚訝的發現在新美大大家都走的是命令列的geek路線~所以放棄sourcetree開始入命令列的坑,留個念想以備不時回查。

1.切換分支

git checkout [name]

引數 -b 遠端拉並直接建立切換了

2.檢視分支

本地:git branch

遠端:git branch -r

3.從遠端轉殖乙個倉庫

git clone [倉庫位址]

4.從遠端拉取**到本地

gitpull [remotename] [localbranchname]

5.新增專案

git add

6.推送分支

git push origin [name]

7.刪除分支

gitbranch -d [name] 

-d選項只能刪除已經參與了合併的分支,對於未有合併的分支是無法刪除的。如果想強制刪除乙個分支,可以使用-d選項

8.刪除遠端分支

git push origin --delete [name]

9.檢視狀態

git status

10.合併某分支到當前分支

git merge [name]

11.撤銷做出的修改

git如何刪除本地所有未提交的更改,包括修改的、新增的、刪除的,還有一些編譯生成的臨時檔案。就是回到上一版本的乾淨狀態。我查了下有兩個相關的命令:

git clean -df

git reset --hard

有些需要注意的問題是第乙個命令只刪除所有untracked的檔案,如果檔案已經被tracked, 修改過的檔案不會被回退。而第二個命令只把tracked的檔案revert到前乙個版本,對於untracked的檔案(比如編譯的臨時檔案)都不會被刪除。如果需要一步到位的話可以嘗試把兩個命令配合起來使用。git reset --hard 之後再 git clean -xdf 

12.暫存

git stash能夠讓你儲存當前的工作目錄,相當於為你當前分支拍乙個快照。儲存快照的意義在於你不commit也能保留你做出的修改,之後你就可以切換到不同的分支上去。在其他分支上或者回到你stash過的分支上都可以把你拍過快照的修改應用在其之上,感覺十分方便。舉個例子我遇到的使用場景就是,我在乙個seo分支上一不小心寫了一些快遞功能的**,而這些**應該在delivery分支上才對。於是乎,我stash了seo分支,切回到master分支(為了進一步在delivery分支上開發),新建delivery分支,這時候delivery分支和master分支一模一樣,這時候把之前的暫存應用在delivery分支上,這樣我寫的關於快遞功能的**就漂亮的轉移到了delivery分支。這時候回到seo分支,把關於快遞的修改撤銷掉,再把快照刪掉,乾乾淨淨!

git stash 暫存當前工作目錄

git stash list 檢視你所有的暫存

暫存恢復

另一種方式是用git stash pop,恢復的同時把stash內容也刪了

13.合併主幹

可能拉乙個dev分支開發期間master上又有新的特性發布了,這個時候為了減少衝突,有的時候需要合併主幹具體做法是

git checkout master -> git pull -> git checkout dev -> git merge master-> 有衝突解決衝突,沒衝突萬事大吉

SourceTree的使用介紹

sourcetree是gitflow的視覺化工具,適用於git專案管理。如何安裝可以參考鏈結中的部落格sourcetree安裝與使用 轉殖如果箭頭指向的倉庫型別表明 這不是乙個標準的git倉庫 可能是有以下原因 1 專案位址獲取錯誤 2 沒有專案訪問許可權 新建如果存在的專案,直接新建乙個gitfl...

遠離超速,遠離大貨車,看完懂得生命的珍貴

因為自己的汽車違規,今天去了一趟拖車廠,一看嚇一跳,嚇的我渾身打顫,才見識到車禍的兇猛,駕駛時都撞沒了,以後再也不敢超速和違規行駛了。有太多事故例子了 這輛現代銀色伊蘭特整個車身嚴重變形,車內空間被撞的都沒有空間了,現在看到的後排都裝不下乙個人了,前排更嚴重,車上血跡斑斑,試想一下,司機以及車內乘客...

sourcetree跳過註冊的方法

很多人用git命令列不熟練,那麼可以嘗試使用sourcetree進行操作。然鵝 sourcetree又乙個比較嚴肅的問題就是,很多人不會跳過註冊或者操作註冊。廢話不多,我們直接開始跳過註冊階段的操作。通常長這樣 對,沒錯,你會看到乙個很不和諧的檔案你是沒有的 恩,就是它,所以接下來你應該在當前資料夾...