第一週問題總結
第一週解決的問題和總結問題
1.pull request
我嘗試用類比的方法來解釋一下 pull reqeust。想想我們中學考試,老師改卷的場景吧。你做的試卷就像倉庫,你的試卷肯定會有很多錯誤,就相當於程式裡的 bug。老師把你的試卷拿過來,相當於先 fork。在你的卷子上做一些修改批註,相當於 git commit。最後把改好的試卷給你,相當於發 pull request,你拿到試卷重新改正錯誤,相當於 merge。
當你想更正別人倉庫裡的錯誤時,要走一個流程:
- 先 fork 別人的倉庫,相當於拷貝一份,相信我,不會有人直接讓你改修原倉庫的
- clone 到本地分支,做一些 bug fix
- 發起 pull request 給原倉庫,讓他看到你修改的 bug
- 原倉庫 review 這個 bug,如果是正確的話,就會 merge 到他自己的專案中
至此,整個 pull request 的過程就結束了。
理解了 pull request 的含義和流程,具體操作也就簡單了。以 Github 排名最高的 https://github.com/twbs/bootstrap 為例說明。
- 先點選 fork 倉庫,專案現在就在你的賬號下了
- 在你自己的機器上 git clone 這個倉庫,切換分支(也可以在 master 下),做一些修改。
~ git clone https://github.com/beepony/bootstrap.git ~ cd bootstrap ~ git checkout -b test-pr ~ git add . && git commit -m "test-pr" ~ git push origin test-pr
- 完成修改之後,回到 test-pr 分支,點選旁邊綠色的 Compare & pull request 按鈕
- 新增一些註釋資訊,確認提交
- 倉庫作者看到,你提的確實是對的,就會 merge,合併到他的專案中
以上就是 pull reqesut 的整個流程.
Git 的 pull request是什麼意思:https://www.zhihu.com/question/21682976 這篇文章講的比較詳細
2.cherry pick
各位碼農朋友們一定有碰到過這樣的情況:在develop分支上辛辛苦苦擼了一通程式碼後開發出功能模組A,B,C,這時老闆過來說,年青人,我們現在先上線功能模組A,B。你一定心裡一萬隻草泥馬奔騰而過,但為了混口飯吃必須得按老闆的意思辦事啊。
怎麼辦?一個辦法就是,重新建一個分支,然後再把功能模組C回退,留下功能模組A,B。這種做法不是不行,但是有更好的辦法,那就是git所提供的cherry-pick功能。
cherry-pick類似於一個定製化的merge,它可以把其它分支上的commit一個個摘下來,合併到當前分支。
廢話不多說,直接上例項。
比如我現在有個檔案a.c,我在develop分支完成了三個功能模組:feature A,feature B,feature C。如下圖:
現在,坑爹的老闆只要feature A,feature B,我們現在用cherry-pick命令直接把feature A,feature B的提交合併到master分支裡,如下操作:
可以看到,功能模組feature A,feature B已經被合併到master分支裡。請注意,合併到master分支裡的提交雜湊值發生了改變,與原來的不同。
可以看出,cherry-pick命令使用方法很簡單,即:
git cherry-pick commitID
剛剛是一個個提交cherry-pick到master分支,但如果有100個commit要合併到master分支呢?總不能這樣一個個操作吧?git一樣幫你想到了,它提供了一個區間操作方法。具體來講是這樣的:
git cherry-pick commit1..commit100
但是要注意,這是一個左開右閉的操作,也就是說,commit1不會被合併到master分支,而commit100則會。這樣的話上面的需求可以如下操作來實現:
注意:上面講到cherry-pick命令每揀選一個commit就會提交一次生成一個新的commit id。 如果我們想讓每個commit 揀選後暫緩提交,等到所有commit都揀選完成後,自己手動commit,應該怎麼辦呢?答案是用-n 選項:
文章原地址:https://zhuanlan.zhihu.com/p/58962086
3.orcle客戶端安裝配置和PL sql的安裝後的錯誤
我的是別人直接傳給我資料夾,不是官方簡化版的是,是完整版的。
- 配置環境變數
在系統變數新建幾個環境變數,變數名和變數值參考如圖:
最後在path中新增:
配置好後直接在dos中輸入命令sqlplus,配置成功會出現oracle版本資訊;
- 安裝PL sql,並填寫註冊碼啟用
- 啟動PL sql,輸入使用者名稱,密碼,資料庫登入。
- 如果PL sql 出現初始化 錯誤 定位oci.dll檔案失敗,先取消登入 ,進去選擇tools->propetiespei配置oracle主目錄和oci.dll庫檔案,然後儲存,退出,再登入
- 如果出現 初始化 錯誤 你確定安裝了64位(32位)的oracle client嗎?,這多半是安裝的oracle 版本位數和PL sql版本不一致,這時需要安裝與oracle 版本位數一致的PL sql 就可以了
4.idea中的Git操作
Git詳解及版本控制規範:https://blog.csdn.net/su1573/article/details/91988523 圖文都有,針對於關聯需求、獨立需求以及生產bug的詳細解釋及步驟,讓自己理解生產中在git上的合作操作流程。
idea+git合併分支解決衝突及詳細步驟:https://blog.csdn.net/su1573/article/details/91990437 針對於git上分支的管理,如:分支切換、分支建立、分支合併等。
因為自己主要是學習整理為主,文章中有很多轉載他人的內容,方在此註明並表達感謝對自己學習工作的幫助,以後自己每週也會對自己的疑惑和收穫進行總結