在使用git時,用了repo,windows下開發,使用的是cygwin工具,這個比git的bash更好使用。使用git一定要明白,add,commit操作都不會影像遠端**倉庫,只有push了才會將**推送到遠端倉庫,比svn多了一步;
1. mkdir gitlearn
2.cd gitlearn
3.repo init -ussh://*** -m ***.xml 拉取遠端**
這個其實就相當於git的這兩部操作:
git init
git clone [email protected]:wufengxyz/hellogit.git 這個是我在github上的乙個倉庫,這個**也提供學習git的指南
4.repo start *** 建立分支,在project工程上,可以是多個工程,這些工程是自己將要修改的,在git使用中一定要開分支,不然衝突了就無法解決,
這個相當與git branch ***(分支名 ) git checkout ***,建立分支,切換到這個分支(repo可以操作多個工程、模組,而git是單工程的)
5.進入乙個開了分支的工程,git branch -a,檢視是否在分支上
6.git status,一定要多用次命令,檢視修改等狀態
7.開始在分支上修改,新增操作等等操作
8.修改過了**,接下來使用
git add .
git commit -m "bug修復"
9.接下來可以同步遠端**了
repo sync ***(工程名)
10.現在遠端**已經被down下來了,相信大家都只要會有衝突出現可能
有衝突修改,修改後使用git rebase --continue這樣就相當於把這些修改合併到了上次衝突的提交中了
11.repo upload 這步操作是將**推送到遠端**審核倉庫,我們的leader會review我們的**,通過了這次開發任務完成,不通過繼續修改
12.review不通過要執行以下操作,這裡要注意,我們的**已經提交到遠端倉庫了,這是跟git rebase操作的乙個區別
修改不通過的**......修改完成後,git add .,git commit -m "***"完成一次commit了,接下來使用
git rebase -i head~2
彈出乙個介面
pick 0b92779 test commit two
pick 9d80074 rebase test
合併兩次pick,將第二個pick改為s,如下
pick 0b92779 test commit two
s 9d80074 rebase test
esc :wq儲存變更
彈出乙個介面,刪除後面乙個change-id(dd操作,刪除整行)
esc:wq儲存變更
然後repo upload上傳修改後的**就完成了所有提交過程了,完全通過後就進行一次repo sync同步一下遠端倉庫**,記住要經常用git status,或者repo status命令,每次做修改前一定要有第4步操作。
接下來介紹如果git完全不能提交使用了情況下的解決辦法,經常因為沒開分支造成;
把自己修改後的**先備份出來,接下來repo sync把遠端**庫中最新的**同步下來,然後用備份的**覆蓋這些最新**,如此操作後使用git status就會發現自己修改了的**,然後在ide工程中看與遠端最新版本**有什麼不同,把遠端**中有,而自己當前**中沒有的加上,然後進行正常的提交過程就ok了,為什麼這樣大家想想就明白了相當於在最新版本**上做了修改。
這些只是git中最基本的操作流程
git 不行用了為啥 為什麼要用git而不是svn
使用了近一年的git之後,再使用svn,發現自己svn這種版本管理工具是十分低效的,主要原因有以下幾個方面 從使用者角度分析 2.svn隨時都得要與伺服器互動,無論是檢視log,還是檢視以往的版本你必須跟伺服器相連,並且速度奇慢務必,而git做這些幾乎是瞬間的事 4.git檢視歷史版本速度快,並且不...
git 使用心得
比起svn,git有許多強大之處,比如 本地可以儲存整個修改 提交的歷史記錄 這一點對於離線開發尤其有幫助 支援一次次的增量合併rebase,適合多人合作。不過,再強大的工具,也要 會家 善使,這裡基本 常用的命令就要熟練掌握並且深刻理解,對於一些場景也能夠做到運用自如。以下提供一些問題場景及其解決...
git使用心得
在 git 內都只有三種狀態 已提交 committed 已修改 modified 和已暫存 staged 已提交表示該檔案已經被安全地儲存在本地資料庫 中了 已修改表示修改了某個檔案,但還沒有提交儲存 已暫存表示把已修改的檔案放在下次提交時要儲存的清單中。常用命令 git clone 位址 git...