git是相當與svn,cvs等的版本控制工具,repo封裝了對git的操作,使git命令更簡單化,
git學習網站這是之前自己看的,但實際工作操作中還是遇到了很多困難,總是遇到沖突,無法提交等問題,現在對Git的使用還是不很熟,但現在對使用也基本了解了,這樣簡單介紹一下。
在使用git時,用了repo,Windows下開發,使用的是Cygwin工具,這個比git的bash更好使用。使用git一定要明白,add,commit操作都不會影像遠程代碼倉庫,只有push了才會將代碼推送到遠程倉庫,比svn多了一步;下面以本人的操作為例:
1. mkdir gitlearn
2.cd gitlearn
3.repo init -u ssh://xxx -m xxx.xml 拉取遠程代碼
這個其實就相當於git的這兩部操作:
git init
git clone git@github.com:wufengxyz/hellogit.git 這個是我在github上的一個倉庫,這個網站也提供學習git的指南
4.repo start xxx <project..> 創建分支,在project工程上,可以是多個工程,這些工程是自己將要修改的,在Git使用中一定要開分支,不然沖突了就無法解決,
這個相當與git branch XXX(分支名 ) git checkout XXX,創建分支,切換到這個分支(repo可以操作多個工程、模塊,而git是單工程的)
5.進入一個開了分支的工程,git branch -a,查看是否在分支上
6.git status,一定要多用次命令,查看修改等狀態
7.開始在分支上修改,添加操作等等操作
8.修改過了代碼,接下來使用
git add .
git commit -m "bug修復"
9.接下來可以同步遠程代碼了
repo sync xxx(工程名)
10.現在遠程代碼已經被down下來了,相信大家都只要會有沖突出現可能
有沖突修改,修改后使用git rebase --continue這樣就相當於把這些修改合並到了上次沖突的提交中了
11.repo upload 這步操作是將代碼推送到遠程代碼審核倉庫,我們的leader會review我們的代碼,通過了這次開發任務完成,不通過繼續修改
12.review不通過要執行以下操作,這里要注意,我們的代碼已經提交到遠程倉庫了,這是跟git rebase操作的一個區別
修改不通過的代碼......修改完成后,git add .,git commit -m "xxx"完成一次commit了,接下來使用
git rebase -i HEAD~2
彈出一個界面
pick 0b92779 Test commit two
pick 9d80074 rebase test
pick 0b92779 Test commit two
s 9d80074 rebase test
Change-Id(dd操作,刪除整行)