【阶段小结】协同开发——这学期的Git使用小结
【階段小結】協同開發——這學期的Git使用小結
- 一、Git簡介
- 1. Git簡單介紹
- 2. Git工作流程以及各個區域
- 3. Git文件狀態變化
- 二、Git安裝&Git基本配置
- 三、個人踩坑
- 1. xcode project“抽風式”問題
- 2. 如何拯救git倉庫
一、Git簡介
1. Git簡單介紹
Git是一個分布式版本控制軟件,最初由Linus Torvalds創作,于2005年以GPL發布。最初目的是為更好地管理Linux內核開發而設計。
2. Git工作流程以及各個區域
- Workspace:工作區
- Staging/Index:暫存區
- Local Repository:本地倉庫(可修改)
- /refs/remotes:遠程倉庫的引用(不可修改)
- Remote:遠程倉庫
3. Git文件狀態變化
二、Git安裝&Git基本配置
由于網上教程很詳盡了,此處省略簡單的安裝與配置,總的來說只需要配置好相應的git平臺的賬號配置即可。
就個人而言,我目前使用的git平臺主要是github與gitee,主要是搭配git+vscode來使用,個人感覺開發效率極高。
三、個人踩坑
Git是我們“程序猿”常用的協同開發工具,由于本學期修了很多開發相關的課程,頻繁地使用了Git。與之前簡單的git push/pull,我也遇到了很多的新問題。
1. xcode project“抽風式”問題
對于簡潔的C/C++/Golang等項目,使用git往往不需要太多配置。而對于基于objective-c的xcode project開發而言,如果不謹慎地設置gitignore文件,簡直就會讓協同開發效率事倍功半。
比如,我們很容易就很會出現由于新增了項目文件,在merge項目之后導致項目不能運行的情況(連編譯都無法通過),這是由于xcode project有一大堆編譯相關的文件,在merge之后往往會出現各種沖突,另外也有許多不必要的文件也被上傳上去,導致項目倉庫很臃腫,因此一個好的gitignore文件是很有必要的。
在這里我提供一個gitignore文件,雖然還不是很完善,但也比網上多數的要全面,僅供參考【其中Group8是項目名】:
.DS_Store
*/.DS_Store
*/**/.DS_Store
code/Group8/Pods/
code/Group8/Podfile.lock
*/UserInterfaceState.xcuserstate
code/Group8/Group8/.DS_Store
2. 如何拯救git倉庫
在協同開發過程中,雖然我們可以建立個人分支,防止污染主分支,但是也有可能會出現一不小心把遠程倉庫弄“爛”或者向把遠程倉庫強制替換的情況。
這里我們主要聚焦于兩個問題,即本地倉庫強制替換為遠程倉庫與遠程倉庫強制替換為本地倉庫,就個人而言,這兩個操作足以避免我一開始減了幾個個人分支的尷尬局面。
假設本地分支的倉庫為henry,遠程倉庫為origin/henry
①本地倉庫強制替換為遠程倉庫
git log #找到commitid
git reset --hard commitid #回滾本地倉庫
git push origin henry --force #本地倉庫強制替換為遠程倉庫
②遠程倉庫強制替換為本地倉庫
git reset --hard origin/henry
總結
以上是生活随笔為你收集整理的【阶段小结】协同开发——这学期的Git使用小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker安装Apache与运行简单的
- 下一篇: 管理虚拟机的艺术——有备无患