GIT常用基本操作,從建庫到分支

一直在用TortoiseGit工具在進行git的日常操作,今天準備把Git完完整整走一邊,有一個大致的瞭解。

首先說一下Git和GitHub的區別。Git是存放代碼文檔什麼的倉庫, GitHub 則是在網絡上提供 Git 倉庫的一項服務。 GitHub是我們看到的前端實現,後邊由Git進行管 理。 把這兩個分開,要不後邊難免有費迷胡。

然後我們首先要在www.github.com 上創建一個自己的賬號,創建完成後註冊用的郵箱會收到一封Verification code 的郵件。這一步是很簡單的。

然後給自己創建一個新庫,
GIT常用基本操作,從建庫到分支
比如,下邊的小紅框裏我填的是designModel, 這樣一個空的庫就建好了
GIT常用基本操作,從建庫到分支
從下邊開始就都可以直在本地的git上進行操作了

然後下邊要首先開始安裝Git,我安裝的是Git-2.25.1-64-bit ,這個一路默認安裝即可。

安裝完成後,在GIT安裝的BIN目錄下執行.ssh目錄的創建和公鑰/私鑰的生成
用CMD窗口跳到GIT的BIN目錄下,執行sh.exe
GIT常用基本操作,從建庫到分支
執行創建目錄操作 mkdir ~/.ssh (這裏要注意的是這裏已經是bash的風格了,不要用windows下的窗口命令)
GIT常用基本操作,從建庫到分支
完成後會在C盤的用戶目錄下生成一個.ssh目錄

創建公鑰/私鑰 執行 ssh-keygen -t rsa -C "賬號@郵箱" 命令(此處的賬號就是註冊github用戶時的郵箱),下圖黑框處標的賬號(連@包括後邊的郵箱一併錄入)

注意前邊的 ssh-keygen 是連在一起的,不要給斷開

執行完成後會在本地的.ssh目錄下生成兩個對應的文件id_rsa和id_rsa.pub。
然後把id_rsa.pub(公鑰文件裏)裏的內容粘貼出來。在GitHub的設置菜單下的ssh配置區將相應的公鑰信息貼入
GIT常用基本操作,從建庫到分支
保存成功後,正常你的郵箱會再收到一封郵件,寫着如下信息
If you believe this key was added in error, you can remove the key and disable
access at the following location:

那就是可以了

完成之後就可以和github正常連接了。

然後首先要乾的要把我們在github創建的那個空的庫先get到本地,這裏要選好你要放庫的位置,比如我想要把庫放在d盤的workspace-git目錄下,那麼就在這個目錄下去運行GitBash,
GIT常用基本操作,從建庫到分支
這樣進入bash運行的窗口後,它所操作的目錄都是基於當前目錄的,然後就可以執行git clone 的命令了
git clone https://github.com/mas199980/DesignModel.git 後邊跟的是我自己的庫的連接,
這個連接到github的頁面上去找,也可以用git remote -v命令查找
GIT常用基本操作,從建庫到分支

執行成功後就在本地生成了一個相關目錄,後續在上傳下載代碼的操作都是在這個目錄下執行了

clone成功後本地就有了一個包含.git文件的,與庫名相同的一個文件夾。然後我這個文件中用eclipse創建了一個初始的maven工程,然後我需要把剛剛創建完的文件推到庫裏,我需要的步驟有如下3個

1,執行 git add 命令將相應的文件加入到緩存區,如果寫 . 就是當前目錄下的全部文件
GIT常用基本操作,從建庫到分支
2,完成以後再將文件提交到本地管理,執行git commit , 這個commiit我帶了個參數,做了一個備註 - m (因爲前邊的操作沒有截屏,這裏後補一個,所以備註是增加readme.md文件)
GIT常用基本操作,從建庫到分支

3,最後,我們將本地的提交推到git上,執行git push
GIT常用基本操作,從建庫到分支

當提示本次push success的消後,到github網站上就可以看到自己提交到的代碼了。

這樣一個最基本的正向流程就完成了。我們可以通過git status命令經常查看一下本地是不是有沒有提交的操作,將沒有完成的提交了就可以了。

下邊是git另一個很常的操作,就是打分支。團隊開發已上線的系統時經常遇到Bug與需求齊飛的情況。Bug是必然要馬上打到發佈分支上去的,但是需求卻可能只開發到一半。這樣就需要至少有兩個分支,一個用於繼續做需求,另一個分支去打補丁進行發佈,然後在下一輪發布之前,所有的補丁要同時也合併到開發的這個主分支上。

在git下通過git branch命令就可以看到當前git下都有哪些分支,在我這裏現在顯示的是有兩個分支,一個是master,一個是剛剛用來做分支測試的feature-A 分支,而我當前是在默認操作master分支(這點一定要注意,現場版本混亂往往就是開發人員在提交代碼版本的時候提錯了分支,導致各種悲劇-_-)
GIT常用基本操作,從建庫到分支

下邊來創建新的分支,git checkout -b feature-A ,這是剛剛看到的 feature-A分支創建的命令,執行成功後新的分分支就被創建起來了。同時當前工作的分支也會被默認切換到新分支上(再切回到原分支的命令是 git checkout master)
GIT常用基本操作,從建庫到分支

切換完成後就可以在這個分支上進行操作了,如同在主分支上一樣提交操作包括 add,commit和push (push的時候要注意一下把分支名稱打上 git push origin feature-A)。 完成後同樣可以github上看到相應的修改

那麼在feature-A上的修改最終要合併到master上,這個就要進行如下的操作
先切回到主分支上(就是要被合併到的分支上),然後執行合併命令
git merge --no-ff feature-A
GIT常用基本操作,從建庫到分支

這樣就feature-A上的修改一併合併到主分支上了。但是這個時候在github上是看不到變化的,還需要再進行一次git push操作纔可以。

最後執行一下git status命令就可以看到最近的這次合併的情況,紅線就是master分支,綠線就是新打出的feature-A分支
GIT常用基本操作,從建庫到分支

這樣,最基本的git操作命令就完成了。一般使用的同學們就可以基本進行日常操作了。

如果碰到版本衝突情況不能簡單覆蓋代碼解決問題,這是開發的大忌。一定要詳細覈查代碼衝突的部分,然後再進行處理。用以上的套路可以解決,也可以再查一下合併解決的命令,以及版本撤銷的命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章