git命令使用(一)
作為程式設計師怎麼能不瞭解git命令呢,但是由於本人不常用到git命令,現在的軟體上也都一體化了,能夠簡化命令,直接執行都可以了,完全能夠去實現git上的命令,導致輸入git命令完全不會,git命令能夠讓我們更直觀的去了解它的執行機制。所以寫這個部落格去了解他的執行機制
在執行git的時候首先要會去克隆他的專案
$ git clone (url)
把地址放入到url裡面執行,就完成了專案克隆,這樣你的本地就有了這個專案了
進入這個專案在裡面進行更改,最後把專案提交到git上,就像把大象放冰箱裡一樣,分了三步,開啟冰箱門,把大象放入冰箱,把冰箱門關上,git上要
把單個檔案新增
git add <檔案>
如果要是多個檔案的話直接就輸入,這樣就把一個專案中要修改的都檔案全部新增進去了,
git add .
接下來把新增的檔案給給傳到本地倉庫上去
git commit -m "備註名稱"
第三步,把本地倉庫的內容傳到遠端上去
git push
以上內容全都是在系統預設的主分支master上面執行的,當你克隆了專案,在專案中開啟命令,在命令視窗會出現
能夠看到最後那個括號裡面的內容,那就是分支的名稱,來新建一個分支
git branch <分支名>
我這裡建了一個dev的分支,來檢視下是否 建立成功(檢視分支)
git branch
看輸出的結果,裡面有這個分支了
接下來跳轉到這個分支上來進行操作,在其中一個分支上進行操作,並不會影響其他分支的內容,這樣的話,其中一個分支上線了,你在另一個分支上操作,不會影響上線的專案
git checkout dev
看結果,它後面的分支名進行了變化,說明他已經切換到了另一個分支上來了
有個一步到位的命令,建立分支並切換到該分支下
git checkout -b <分支名>
當你上傳的這個分支沒有問題了,想把它上線,只需要把在當前分支下輸入想要合併的分支,進行一下替換就行了
git merge <分支名>
這個分支合併完了,我不想要這個分支了,就輸出下面的命令
git branch -d <分支名>
輸出的結果就是下面這樣
這些只是在本地上進行建立分支,咋們最終的結果是要給它放到遠端上面,就需要在遠端上面去建立分支
git checkout -b <本地分支名> origin/<遠端分支名>
把本地分支和遠端分支連線起來
git branch --set-upstream-to=origin/<遠端分支名> <本地分支名>
推送分支內容,本地分支和遠端分支連線起來的話,可以直接輸入git push,最好是同名的,如果不同名,不確認到底能不能行
git push origin <分支名>
用下面的命令來檢視遠端分支資訊
git remote / git remote -v(小寫)
標籤管理
在這個分支下,新增標籤,標籤用途來檢視它的修改內容標記
git tag <標籤名>
如果想回退版本的話,就需要它的版本號了,想查詢標籤的時候並帶著版本好一併查出就需要把標籤和版本號一起寫入
git tag <標籤名> <版本號>
用命令來檢視標籤的內容
git show <標籤名>
刪除標籤名
git tag -d <標籤名>
推送到遠端上
git push origin <標籤名> / git push origin --tags
刪除推送到遠端的標籤
git push origin :resf/tags/<標籤名>
子模組
拉取子模組的命令,和克隆就不一樣了用的是下面的命令
git submodule add url
用上面的命令去建一個字模組就行了
以後使用的時候,子模組內容完全不用去進行更改的,上傳你專案程式碼的時候也不會去影響它的內容(注意空的子模組是顯示不出任何內容的,上傳到git上,你專案裡面也不會像是有這個子模組的)
如果子模組進行了更改,你只需要在本地進行一下拉取就行了
git pull
子模組這還會有些問題,就是當你拉下子模組後,認為不對,就把這個拉取下來的模組刪了,想重新拉取,就會出現警告,說這個名字的 子模組已經有了不能在拉取了。
解決辦法:
拉取子模組後生成一個這個檔案,需要把裡面的你拉取子模組的名字幹掉,
然後在git隱藏檔案中,找到modules資料夾,刪除裡面對應的子模組名稱檔案,在config檔案中刪除對應子模組檔案
》》》》》
衝突
兩個人在沒有拉取程式碼的情況下,進行推送同一個檔案或程式碼,可能會出現一些bug問題,沒有拉取傳送順序(1》2》1)就會出現程式碼覆蓋git上面會出現警告,讓你去合併程式碼,我當時輸入合併命令沒有管用,之後直接把合併請求關閉,回退了一下版本,然後拉取,在上傳,結果問題就沒了