最近在工作中頻繁用到git版本管理,期間也遇到了很多的問題,平時也會使用,但是,在沒有遇到什麼大的問題的時候,還是用的不是特別的熟練,最近,自己在玩的時候,發現了很多問題,同時,也用git解決了這些問題,發現git真的是個好東西,用的熟練了,真的棒!!!
所以,今天就花點時間總結一下最最常用的一些git命令,不管什麼時候,這些命令都是需要熟練的使用的,這樣才能保證不出錯,那就開始吧!!!
創建倉庫/初始化/提交操作
1、git init
初始化倉庫操作,這樣才能用git進行代碼管理。
2、git clone 倉庫地址
複製遠程倉庫的代碼到本地。
3、git add XXX
添加本地的某個新文件到本地倉庫,但是,此時只是提交到了本地倉庫,並沒有提交到遠程倉庫。
4、git add .
這個操作和上面的區別在於,這個命令會添加所有的新文件,也就是當前目錄下的。
5、git commit -m 'message'
提交代碼到本地倉庫,並沒有到遠程倉庫,不理解的可以去了解一下git的原理。
6、git commit -am 'message'
這個命令將上面兩個步驟 add 和 commit 合二爲一。
日誌查看/信息顯示
1、git log
這個命令主要用於查看提交日誌
2、git status
可以用來查看倉庫的狀態,在開發中,使用最多的可能就是這個命令了,建議開發過程中沒事就 git status 一下。
如果當你不知道你的git分支或者倉庫的狀態的時候,記得一定git status一下,不然,可能就會出問題哈。
分支管理
這個是重頭戲哈,在實際的工作中,分支創建開發新功能,切換分支簡直能再多了,如果操作不當,可能造成很大的麻煩,我在工作中就遇到過很多不必要的麻煩,而且解決起來特別難受。
1、創建分支 git branch XXX
可以在遠程界面創建分支,或者使用命令git branch XXX
。
創建的新分支的代碼一般是來自於master的,所以,比如你創建了新分支test,那麼test分支的代碼是和master的代碼是一樣的。
我們還可以使用git branch
查看分支。
2、切換分支 git checkout XXX
切換分支:git checkout XXX
,這樣就切換到了XXX分支。然後我們再到XXX分支進行功能的開發工作。
3、 創建分支並且切換分支 git checkout -b XXX
命令:git checkout -b XXX
,這條命令就是執行了前面的兩條分支,git branch XXX和git checkout XXX,創建並且直接切換到XXX分支,這個命令的好處在於,當你需要進行新的功能開發的時候,你直接創建新分支,然後直接切換了,就可以直接開搞了。
其實,我們在開發的過程中會遇到很多技術,如果大家有興趣,可以看看我的博客blog.ouyangsihai.cn,裏面都是我的原創文章,技術乾貨。
4、查看處於哪個分支 git branch
命令:git branch
,可以直接查看本地的所有分支,並且當前處於哪個分支。
如果你問,我想查看本地和遠程的所有分支用哪個命令呢?
5、查看本地和遠程所有分支 git branch -a
git branch -a
,是不是很簡單。
6、合併分支 git merge
本地有這麼多的分支當我們完成功能開發,需要合併到maste的時候,應該怎麼辦呢?
-
切換到master分支,git checkout master
-
合併XXX分支,git merge XXX
-
這時候如果有衝突就需要解決衝突了。
7、刪除本地分支 git branch -D XXX
當我們完成了功能開發,且合併到了master的時候,我們就可以刪除我們當前的分支了,命令git branch -D XXX
。
注意:當前處於XXX分支,XXX分支是不能被刪除的,需要先切換到其他分支。
8、刪除遠程分支 git push origin --delete XXX
刪除遠程分支屬於危險操作,如果權限不合理,可能會出現大問題。
建議:git branch -a 查看所有分支,再進行操作。
更新管理
1、提交代碼到遠程 git push origin XXX
本地代碼寫好,提交到遠程,最常用的操作,XXX就是遠程的倉庫名稱。最常用:git push origin master
,添加到master。
2、拉取遠程代碼到本地 git pull origin XXX
將遠程代碼下拉到本地並進行合併,等價於 fetch 和 merge 兩步一起執行,但是,這個其實是在平時最常用的命令,一般拉取新代碼的時候,都直接用這個命令操作。
另外,本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收錄,這是我花了3個月總結的一線大廠Java面試總結,本人已拿大廠offer。
版本回退
其實在平時的開發中還是會遇到一些操作不當,導致分支出現問題,這個時候,版本管理的作用就凸顯出來了,我們可以通過git提供的版本管理進行版本回退操作,這樣可以很快的解決我們得問題。
場景:當我們開發一段時間之後,發現現在跟master分支出了很大的問題,我們很有可能需要回退到一個我們比較合適的代碼版本,然後再進行相關的開發工作。
1、 git reset --hard XXX
這個命令使用需要注意,會把當前分支的代碼全部回退到以前的一個版本,不可逆轉,需要謹慎使用。
這個命令雖然不太常用,但是,當出現大的問題的時候,卻能發揮很大的作用,直接回退到一個以前的版本。
當然,有時候當我們錯誤的回退的時候,又想回到最初的樣子怎麼辦呢,難道代碼中的我們也不能回到18嗎?
當然可以。我們可以使用git reflog
,查看所有的head的記錄。
最後,我們在通過git reset --hard 766f905f
,重新回到回退之前的版本。
ok,以上就是工作中最最常用的git命令大全了