麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

VSwithGit

2019-11-14 15:52:54
字體:
來源:轉載
供稿:網友

認識Git

Git是目前世界上最先進的分布式版本控制系統。相對于分布式版本控制系統,也有集中式版本控制系統,比如TFS。

集中式版本控制系統,版本庫是集中存放在中央服務器的,而干活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始干活,干完活了,再把自己的活推送給中央服務器。中央服務器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完了,再放回圖書館。

集中式版本控制系統最大的問題是必須聯網才能工作,而且,如果中央服務器出問題,所有人沒法工作了。

而分布式版本控制系統就不存在這樣的問題,因為每個人的電腦中都有一個完整的版本庫,在同步之前,所有操作都可以在本地倉庫中完成。

集中式版本控制系統:

clipboard[122]

分布式版本控制系統:

clipboard[123]

分布式版本控制系統的本地操作流程圖:

clipboard[124]

工作目錄,暫存區域和本地倉庫這幾個概念非常重要。

工作目錄:即解決方案所在目錄。

暫存區域:已添加,但還未提交到本地倉庫。

本地倉庫:已提交,相對于遠端倉庫而言的本地版本。

測試環境

  • vs2015
  • GitLab
  • 取消IE代理并且關閉fiddler

添加到遠端倉庫

基于已存在的項目,將它添加到遠端倉庫(GitLab)中。

比如,現在我要將本地項目HelloWebAPI添加到GitLab中,要進行以下操作。

1,解決方案上右鍵,選擇將解決方案添加到源代碼管理菜單,打開選擇源代碼管理窗口。或者打開菜單"文件/添加到源代碼管理"也可以打開選擇源代碼管理窗口,如下圖

clipboard[125]

clipboard[126]

2,選擇Git,確定,在打開的更改窗口中,寫上備注點擊提交,此時項目已添加到本地倉庫中了,但還沒有發布到遠端倉庫。

clipboard[127]

clipboard[128]

clipboard[129]

3,在發布到遠端倉庫之前,必須在GitLab上先建立一個遠端倉庫。

clipboard[130]

點擊Create PRoject按鈕,即創建了一個遠端倉庫。

clipboard[131]

創建遠端倉庫時的可見性要說明一下:

Private:是需要顯式授權(加入到項目成員中)才可以clone項目。

Internal:只要擁有GitLab帳號(或者域帳號)的開發人員默認都可以clone項目。

Public:不需要任何授權就可以clone項目。

綜合以上,我們在創建遠端倉庫的時候,最好將可見性設為Internal,其它項目成員都可以clone項目,免去了一個一個添加的麻煩。

復制地址,下面會用到。

clipboard[132]

4,發布到遠端倉庫。

clipboard[133]

點擊發布按鈕,可以看到已經發布成功了。

clipboard[134]

此時進到GitLab項目的主頁刷新頁面,可以看到提交的記錄,如下圖。

clipboard[135]


從遠端倉庫克隆

添加到遠端倉庫是基于本地已存在項目,而從遠端倉庫克隆是項目在本地不存在,需要從遠端倉庫克隆一份到本地的情形,操作步驟如下。

1,Git全局設置,可以設置用戶名,email和存儲庫位置。用戶名和email會顯示在你的提交記錄中,存儲庫位置便于統一遠端倉庫克隆時的路徑,如下圖。

clipboard[136]

2,復制你要克隆的遠端倉庫的url,如下圖。

clipboard[137]

3,進入團隊資源管理器的連接窗口,在本地Git存儲庫項中粘貼上前面copy的url,然后點擊克隆按鈕,這樣就成功創建了一個本地存儲庫,如下圖。

clipboard[138]

clipboard[139]

可以雙擊打開項目。

提交更改

遠端倉庫克隆到本地后,我們就可以在本地開發,并提交更改了。

1,簽出代碼并修改

我在readme文件中添加了一句話

clipboard[140]

2,提交

在解決方案上右鍵,選擇提交,進入團隊資源管理器的更改窗口。

clipboard[141]

輸入注釋,然后點擊提交按鈕,即可提交代碼,需要注意的是,此時只是提交到本地存儲庫中,還不是遠端存儲庫。

clipboard[142]

提交按鈕有個下拉菜單,這個后面會講到,先點擊提交(第1個)即可。

clipboard[143]

clipboard[144]

3,同步

要將本地的更改發布到遠端存儲庫,我們還需要做同步操作,如下圖。

我們先不管獲取,拉取和推送這些,后面會講。

clipboard[145]

提示提交成功

clipboard[146]

查看遠端存儲庫,已經可以看到同步成功了。

clipboard[147]

同步

進入到團隊資源管理器的同步窗口,如下圖。

clipboard[148]

先來了解下這幾個按鈕的作用。

推送:將本地存儲庫的更改更新到遠端存儲庫。

獲取:在拉取之前獲取所有傳入提交。

拉取:從遠端存儲庫獲取最新版本。

同步:同步實際上同時進行了兩個操作,先從遠端存儲庫拉取(pull)最新版本,然后和本地存儲庫進行比較,進行自動合并(merge)后推送(push)到遠端存儲庫。

1,獲取最新版本

為了減少沖突,在開始開發新功能前,都會先去獲取最新版本,獲取的方式一般有兩種,當然要依實際情況來選擇。

1) 獲取和拉取,在傳入提交項可以看到團隊其它成員的提交更改,可以拉取全部,或者拉取其中某個更改到本地。

clipboard[149]

2) 同步,因為同步會同時進行兩個操作,拉取和推送。所以這個操作適合本地存儲庫沒有待推送的更改的情形,因為如果本地存在待推送的更改的時候,很容易導致沖突的發生。

clipboard[150]

2,提交更改

當開發完某個功能,或者fix了某個bug時,就會去提交更改到遠端存儲庫。

1) 推送,可以一次推送全部本地更改或提交一個,推送一個。

clipboard[151]

2) 同步,也可以點擊同步實現提交更改,當然,在同步之前最好拉取最新版本,這樣可以減少沖突的發生。

clipboard[152]

成員和權限管理

1,入口

clipboard[153]

clipboard[154]

有兩種添加成員的方式,Add members是從人員清單中添加,Import members是從其它項目中批量導入成員。

clipboard[155]

2,GitLab默認提供了四種角色,如果要允許成員提交更改的話,必須設定其角色為Master,否則會收到如下圖的錯誤。

clipboard[156]

clipboard[157]

注:以上錯誤,只是針對主線master,在分支上提交更改不會報告這個錯誤。

分支管理,創建與合并分支

1,創建分支

有兩種方法創建分支,分別是基于本地創建分支和基于遠端創建分支,如果是基于本地創建分支,最好先獲取最新版本,如果是基于遠端創建分支,團隊成員最好都提交本地更改。我們約定,一般都基于遠端創建分支。

需要注意的是,如果是基于遠端創建分支,一定要取消跟蹤遠程分支復選框,否則就創建成了跟蹤分支了。跟蹤分支不能分布,它是用于聯系本地分支和遠程分支的,在跟蹤分支上的操作(包括推送和拉取)會自動推送和拉取到關聯的遠程分支上,比如默認的本地master分支就是origin/master的一個跟蹤分支。

image

 

clipboard[158]

輸入分支名稱,點擊創建分支。

clipboard[159]

創建成功,接著發布分支,即將分支推送到遠端存儲庫。

clipboard[160]

 

要注意的是,此時該分支變為跟蹤分支了。

image

分支2015.07.29.HelloWebAPI1.0已經推送到遠端存儲庫了。

clipboard[161]

2,合并分支

為了模擬實際情形,先在分支2015.07.29.HelloWebAPI1.0上做些修改,然后提交更改,最后將分支合并到主線上。

在test2.txt中添加一行新的記錄,并提交更改到本地存儲庫

clipboard[162]

clipboard[163]

切換到分支窗口,先切換到主線(master)分支,然后點擊合并按鈕,從分支合并選擇源分支2015.07.29.HelloWebAPI1.0,當前分支選擇目標分支master,然后點擊合并按鈕開始合并。

clipboard[164]

合并,提交更改成功提示

clipboard[165]

分支更新的代碼已經合并過來了。

clipboard[166]

推送更改到遠端存儲庫

clipboard[167]

進入GitLab,已經可以看到提交更改記錄,并且主線代碼已經更新了。

clipboard[168]

主線代碼已經更新

clipboard[169]

3,刪除分支

首先從遠端刪除分支

image

此時本地對應的分支就由跟蹤分支為普通分支了,直接刪除即可。

image

這樣,分支2015.08.27就被完整刪除了。

解決沖突

當團隊中兩人或多個同時修改同一文件的同一代碼段,后提交更改或獲取更新的人就會碰到沖突。

1,沖突發生

以主線(master)的文件test1.txt為例,假如兩人同時修改它。

張三在test1.txt的第3和4行新增兩行代碼,并提交到本地存儲庫。

clipboard[170]

李四也在test1.txt的第3和第4行新增兩行代碼,并提交更改和推送到遠端存儲庫。

clipboard[171]

如果張三再去推送的話, 沖突就發生了。

clipboard[172]

clipboard[173]

2,解決沖突

先獲取并拉取最新,然后解決沖突。

獲取并拉取最新版本

clipboard[174]

點擊解決沖突鏈接,進入到解決沖突窗口

clipboard[175]

點擊合并按鈕

clipboard[176]

clipboard[177]

源和目標的更改都勾選上,并且點擊接受合并

clipboard[178]

提交合并

clipboard[179]

GitLab已更新

clipboard[180]

TFS代碼遷移到Git

1,使用TortoiseGit等工具手動推送。

2,使用其它工具,可以參考下面文章。

1),http://www.companysz.com/sorex/archive/2013/03/11/2954095.html

2),http://chriskirby.net/migrate-an-existing-project-from-tfs-to-github-with-changeset-history-intact/

3,TFS—>git可以保留完整歷史記錄(包括源代碼),方法:

https://github.com/git-tfs/git-tfs

系統變量的path里加上:
;C:/Program Files (x86)/Git/bin;F:/Users/Desktop/GitTfs-0.22.0/

新開cmd,執行命令
md C:/PackageFH
cd C:/PackageFH
git-tfs clone http://hp580tfssz:8080/tfs/WingonTravel $/PackageFH/MainLine

TortoiseGit的使用

安裝程序可以從以下路徑獲得:

//172.18.21.12/技術開發部/轉運站/Software/git/TortoiseGit-1.8.14.0_64bit.1436148947.msi

主要有以下幾個步驟

1,創建本地倉庫

image

點擊OK,即創建本地倉庫成功。

image

2,設置

設置用戶信息和遠端倉庫url

image

image

點擊確定,設置完成。

3,提交到本地倉庫

image

image

點擊OK,代碼就提交到本地倉庫了。

4,推送到遠端倉庫

image

image

image

推送成功

image

查看GitLab,代碼已經同步過去了。

image


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲国产精品一区二区三区 | 国产亲子伦在线观看 | 亚洲成人在线视频网 | 三人弄娇妻高潮3p视频 | 欧美老外a级毛片 | 久久久久亚洲精品国产 | 国产69精品久久久久久野外 | 久久久久久久不卡 | 欧美一级性 | 欧美在线观看禁18 | 欧美成人免费看 | 99re66热这里只有精品8 | 国产不卡av在线 | 视频在线中文字幕 | 亚洲影院在线 | 欧美成人免费tv在线播放 | 亚洲电影在线观看高清免费 | 免费视频a| 成av在线| 激情小说色 | 欧美一级淫片免费视频黄 | 国内精品伊人久久 | 午夜精品小视频 | 国产精品久久久久久久久久三级 | 国产精品久久久久久久久久iiiii | 蝌蚪久久窝 | 狠狠干伊人网 | 黄色片快播 | 国产成人综合在线视频 | 精品国产看高清国产毛片 | 吾色视频 | 国内精品一级毛片免费看 | 国产精品美女久久久久久不卡 | 一区二区三区日韩在线观看 | 中文字幕在线观看国产 | 国产一区二区不卡视频 | 成人福利在线播放 | 久久亚洲成人 | 久久精品99久久久久久2456 | 欧美性受xxxx人人本视频 | 777zyz色资源站在线观看 |