點個贊,看一看,好習慣!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收錄,這是我花了 3 個月總結的一線大廠 Java 面試總結,本人已拿大廠 offer。
另外,原創文章首發在我的個人博客:blog.ouyangsihai.cn,歡迎訪問。
前言
最近在工作中頻繁用到git版本管理,期間也遇到了很多的問題,平時也會使用,但是,在沒有遇到什么大的問題的時候,還是用的不是特別的熟練,最近,自己在玩的時候,發現了很多問題,同時,也用git解決了這些問題,發現git真的是個好東西,用的熟練了,真的棒!!!
所以,今天就花點時間總結一下最最常用的一些git命令,不管什么時候,這些命令都是需要熟練的使用的,這樣才能保證不出錯,那就開始吧!!!
創建倉庫/初始化/提交操作
1、git init
初始化倉庫操作,這樣才能用git進行代碼管理。
這里分享一下自己最近的原創文章合集。
序號 | 文章詳情 |
---|---|
1 | 【原創】分布式架構系列文章 |
2 | 【原創】實戰 Activiti 工作流教程 |
3 | 【原創】深入理解Java虛擬機教程 |
4 | 【原創】Java8最新教程 |
5 | 【原創】MySQL的藝術世界 |
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命令大全了。
最后,再分享我歷時三個月總結的 Java 面試 + Java 后端技術學習指南,這是本人這幾年及春招的總結,已經拿到了大廠 offer,整理成了一本電子書,拿去不謝,目錄如下:
現在免費分享大家,在下面我的公眾號 程序員的技術圈子 回復 面試 即可獲取。
有收獲?希望老鐵們來個三連擊,給更多的人看到這篇文章
1、老鐵們,關注我的原創微信公眾號「程序員的技術圈子」,專注于 Java、數據結構和算法、微服務、中間件等技術分享,保證你看完有所收獲。
2、給俺點個贊唄,最近系列原創文章。
序號 | 原創精品 |
---|---|
1 | 【原創】分布式架構系列文章 |
2 | 【原創】實戰 Activiti 工作流教程 |
3 | 【原創】深入理解Java虛擬機教程 |
4 | 【原創】Java8最新教程 |
5 | 【原創】MySQL的藝術世界 |