入職公司有3個多月了,寫下最近使用公司git的經驗。
上圖是我本地倉庫與我的私人倉庫,公司**倉庫的關係。
一般我們在書寫**時,先通過commit提交**到本地,然後通過 git push命令提交到個人私人倉庫,這個是遠端的倉庫。只不過,提交完**後,還需要通過 git網頁版的merge request合併到公司的**倉庫,這個過程一般需要由公司其他人去合併,其他人合併過程中,會對你的**進行一次review。
雖然提交**的整個過程相對來說冗長了一些,不過能夠避免許多錯誤,比如我們在自己的 個人遠端倉庫,進行一些分支合併等操作,一旦操作失敗以後,也不會對公司的遠端倉庫又什麼影響。而且個人的遠端倉庫分支,只有自己在修改,是不會又衝突的。而且自己經過多次的提交,通過diff也能夠對自己的**經過多次的檢驗,當然**還是通過測試校驗的更加準確。
不過這麼長的乙個提交**路程,也會和同事的**衝突,經過實際開發的經驗驗證,這並不會造成什麼影響,反而更加使得開發過程更加的規範,避免了很多不必要的錯誤,對於初步使用git來說,也增加了許多操作git命令和驗證的機會,畢竟對個人倉庫進行操作對其他人不會有什麼影響。
下面來說下基本的一些命令。
git branch 檢視當前處於哪個分支。
git push 提交該分支**到遠端倉庫。
git branch -a 檢視所有的分支**。
git remote add mc 遠端分支位址 。 新增第二個遠端分支名,別名為mc, 其實使用git clone 遠端位址 時,也是有乙個別名,只不過預設為 origin。
下面時合併master 到dev
首先,git checkout dev 然後 git pull 確保**回到dev ,並且同步**。
然後git checkout master git pull 把master**拉取到本地。
最後 git checkout dev git merge master 這是切換到 dev分支,然後指定 合併master的**到dev。
那麼合併master的**為什麼還要切換到master,然後再切換到dev分支,再合併呢。
我想既然是在本地合併,所以必須先把master的**拉取到本地才可以吧。
合併分支到master也是上述步驟。只不過操作相反而已。
下面是hi如何刪除分支**
git branch -d dev 刪除本地 dev分支的**
git branch --delete dev 刪除遠端分支**。
從特定的遠端建立分支
git fetch mc dev:dev 從遠端位址 mc拉取dev分支的**,在本地建立要給dev分支的**。
git checkout dev 本地**切換到剛剛建立的dev分支
一般我們在修改**時,修改到一半,需要切換到另乙個分支,那麼如何做呢?
git status 檢視本地的修改
git stash 儲存本地修改到快取區中。
git checkout dev 切換**到其他的分支
git checkout dev2 切換到原來的分支
git stash pop 從快取區返回修改過的**。
git log 檢視提交過的**版本記錄
上述就是git的一些基本操作,工作中再遇到會及時補充。望大家多提意見。 Git 使用經驗彙總
首先,用git log或gitx工具檢視一下你想選擇哪些commits進行合併,例如 如下圖,比如,feature 分支上的commit 70cc23d 次提交 非常重要,它含有乙個bug的修改,或其他人想訪問的內容。無論什麼原因,你現在只需要將70cc23d單次提交 合併到master,而不合併f...
Git傻瓜經驗 使用遠端倉庫
使用遠端倉庫有兩個含義。一種是說使用網上提供的空間。這個到相應 註冊就可以了。比如較知名的有github bitbucket 等,不多敘述了。我要說的是另外一種 自己搭建內部用的遠端版本庫。本著越簡單越好的原則,試驗了一種共享資料夾的方法。1.先在ubuntu下裝git軟體。使用命令 sudo ap...
Git深度使用經驗總結
日期 2013 10 27 字型 大中小 已經開始使用git了,有些時候一般的問題只能google就能找到答案,但是有些時候不能找到答案,因為遇到的問題都不知道該用什麼關鍵字搜尋。很多是在git中文的qq群中討論出來的,把一些經驗總結一下 1.git子模組 快速上手 git submodule ad...