git fetch:相當(dāng)于是從遠(yuǎn)程獲取最新版本到本地,不會(huì)自動(dòng)合并。
git pull:相當(dāng)于是從遠(yuǎn)程獲取最新版本并merge到本地
git pull origin master:命令其實(shí)相當(dāng)于git fetch 和 git merge;在實(shí)際使用中,git fetch更安全一些,因?yàn)樵趍erge前,我們可以查看更新情況,然后再?zèng)Q定是否合并。
Git pull的作用是,從遠(yuǎn)程庫(kù)中獲取某個(gè)分支的更新,再與本地指定的分支進(jìn)行自動(dòng)merge。完整格式是:git pull <遠(yuǎn)程庫(kù)名> <遠(yuǎn)程分支名>:<本地分支名>?
git reset ?--hard 版本號(hào)(commit id)
git reset --hard 1c388***** 撤回制定版本號(hào)(不是最新的那個(gè)版本號(hào))
注:代碼編譯同并且驗(yàn)證通過后才可提交代碼!
Step1: git pull ???#作用是:取回遠(yuǎn)程主機(jī)某個(gè)分支的更新,再與本地的指定分支合并。
Step2: git status? #查看當(dāng)前分支的修改狀態(tài):
1:Untracked: 未跟蹤, 此文件在文件夾中, 但并沒有加入到git庫(kù), 不參與版本控制. 通過git add 狀態(tài)變?yōu)镾taged.
2:Modified: 文件已修改, 僅僅是修改, 并沒有進(jìn)行其他的操作.
3:deleted: 文件已刪除,本地刪除,服務(wù)器上還沒有刪除.
4:renamed:
Step3: git add file1 file2… #將狀態(tài)改變的代碼提交緩存;注:git add .要慎用,修改那個(gè)文件就add那個(gè)文件。
Step4: git commit -m “注釋部分”#將代碼提交到本地庫(kù)中
Step5: git push #將代碼推送到服務(wù)器;
格式:git push localbranach: origin remotebranch
Step6:提交后要@審閱代碼的人
工作區(qū):git clone 或 git init之后,目錄下看到看到一個(gè).git隱藏文件夾,這個(gè)文件夾就是版本庫(kù),目錄及其子目錄就是工作區(qū),代碼修改保存后,在可以直接編譯,運(yùn)行。
暫存區(qū):git add 把文件從工作區(qū)被提交到暫存區(qū),但此時(shí)文件并沒有真正進(jìn)入到版本庫(kù)當(dāng)中,文件目前只處于一個(gè)中間狀態(tài)。
本地版本庫(kù):git commit這個(gè)命令將處于中間狀態(tài)的文件(暫存區(qū)的文件)提交到本地的版本庫(kù)中。
遠(yuǎn)程版本庫(kù):git push這個(gè)命令將處于本地版本庫(kù)提交到遠(yuǎn)程版本庫(kù)中。
如果的代碼已經(jīng)提交到遠(yuǎn)程git庫(kù),reviewer審核時(shí)候發(fā)現(xiàn)代碼有點(diǎn)問題,需要修改,通常有2種方法:
方法1:reviewer將你提交的所有代碼 abandon,然后你回去 通過git reset …將代碼回退到你代碼提交之前的版本,然后你修改出問題的代碼,然后 git add commit,最后git push
方法2:reviewer不abandon代碼,回去之后,可以直接修改出問題的文件,修改好之后,git add 該出問題文件,然后 git commit --amend ,最后git push。這種方式可以比較方便的保持原有的Change-Id,推薦使用。
git checkout –b newbranch origin/remotebranch
注意事項(xiàng):防止本地其他分支code的干擾,建完新分支后,執(zhí)行
git status
git reset -hard
git clean -df
Step1:make clean? #清除make產(chǎn)生的中間文件
Step2:git stash 或者git add、git commit 后再切換
注:沒有add,也沒有commit,切換分支,修改的內(nèi)容也會(huì)切到另一個(gè)分支。
Step3:git status
來源:http://www.icode9.com/content-4-25201.html聯(lián)系客服