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