日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

代码管理工具 Git

發布時間:2024/10/12 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 代码管理工具 Git 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前一直使用微軟的代碼管理工具TFS(Team Foundation Server)。.NET CORE 2.0的發布后,考慮到.NET CORE項目可以跨平臺,準備把項目遷移到.NET CORE 環境下重構。代碼管理工具也準備使用git。下面主要學習代碼管理工具,不涉及.NET CORE。

本文目錄:

  一、為什么使用代碼管理工具?

  二、常見的源代碼管理工具有哪些?  

  三、Git命令行管理代碼、安裝及使用

  四、Git的可視化工具SourceTree管理代碼 SourceTree的使用

  五、git、github、gitlab之間的關系


?

一、為什么使用代碼管理工具?  

  1、能記錄一個項目從開始到結束的整個過程。

  2、追蹤項目中所有內容的變化情況,如增加了什么內容,刪除了什么內容,修改了什么內容等等。

  3、版本控制,可以清楚的知道每個版本之間的異同點,如版本2.0相比較版本1.0多了什么內容,功能等。

  4、 權限控制,防止代碼混亂,提高安全性,防止一些不必要的損失和麻煩,簡單的理解就是為什么職位做什么事情,不能越界。如控制程序員A對正在開發的項目具有開發的權限,其他項目不具有開發的權限,如果不進行控制的話,那么對其他項目的開發權限也對程序員A開放,如果程序員A對其他項目不小心進行了錯誤的操作 如刪除,就會造成一些損失。

  5、責任追究,防止互相推卸責任,可以清楚的知道誰對哪個文件進行了什么修改,導致了項目無法正常運行。

  6、回退處理,執行了錯誤的操作之后還可以有補救的機會,如從版本1.0升級到版本2.0,后來發現版本2.0有一個錯誤,這時候可以進行回退處理,比較方便。

  7、沖突解決,在團隊的多人協同開發中,沖突是經常有的事情,比如存在著相同的文件名稱,同一個文件中有著相同功能的函數等等,這時候使用源代碼管理工具可以比較方便的解決沖突。沖突的解決一般按照“復制-修改-合并”原則進行。

二、常見的源代碼管理工具有哪些?  

  1、常見的源代碼管理工具有哪些

?    (1)CVS

      -?開啟版本控制之門

      - 1990年誕生,“遠古時代”的主流源代碼管理工具?

?    (2)SVN

      -?全稱是Subversion,集中式版本控制之王者

      -?是CVS的接班人,速度比CVS快,功能比CVS多且強大

      -?在國內軟件企業中使用最為普遍(70%-90%)

? ?  ? ?(3)Git

      -是目前世界上最先進的分布式版本控制系統(沒有之一)

   ? ?(4)ClearCase

      -?收費的集中式版本控制工具,安裝比Windows還大,運行比蝸牛還慢

      -?能用ClearCase的一般是世界500強,他們有個共同的特點是財大氣粗

   ? ?(5)VSS

      -?微軟的集中式版本控制工具,集成在Visual Studio中

?  2、SVN或者Git進行源代碼的管理基本區別 ?

    (1)GIT是分布式的而SVN是集中式。  ?

    1.1集中式:一臺服務器控制著所有的代碼,這臺服務器的代碼是最新的,其他電腦的代碼操作(如下載、提交)都需要通過這臺服務器才可以執行。1.2分布式:每臺電腦都相當于一個服務器,代碼是最新的,比較靈活。對比:Git的速度比SVN快;Git比SVN靈活;SVN一旦沒有網絡或者服務器掛了的話,其他電腦都無法執行操作,但是Git可以先提交到本地版本庫,等待聯網的時候再提交到遠程代碼倉庫。

  

    (2)GIT把內容按元數據方式存儲,而SVN是按文件 ?

      所有的資源控制系統都是把文件的元信息隱藏在一個類似.svn,.cvs等的文件夾里。如果你把.git目錄的體積大小跟.svn比較,你會發現它們差距很大。因為.git目錄是處于你的機器上的一個克隆版的版本庫,
它擁有中心版本庫上所有的東西,例如標簽,分支,版本記錄等。

  

    (3)GIT分支和SVN的分支不同

      分支在SVN中一點不特別,就是版本庫中的另外的一個目錄。如果你想知道是否合并了一個分支,你需要手工運行像這樣的命令svn propget svn:mergeinfo,來確認代碼是否被合并。
然而,處理GIT的分支卻是相當的簡單和有趣。你可以從同一個工作目錄下快速的在幾個分支間切換。你很容易發現未被合并的分支,你能簡單而快捷的合并這些文件。

  

  3、常見的Git管理工具

    (1)Git Base?

      Git Base采用命令行的方式進行版本管理,功能操作最為靈活強大,下載地址http://git-scm.com/download/win

?

    (2)EGit?

      EGit是Eclipse的Git插件,在Eclipse中開發時直接操作EGit很方便,尤其對于有SVN開發情節的開發人員來說更加熱衷于使用,但是EGit存在很多bug和不人性化的東西,需謹慎使用!

?

  (3)TortoiseGit?

    在Windows上面,圖像化軟件TortoiseGit相比GitHub客戶端使用較為方便,下載地址:http://git-scm.com/download/win

??

  (4)SourceTree ?

    在Mac Ios系統上,圖形化軟件SourceTree較為便捷(SourceTree當前不支持“開源中國--代碼托管”,支持GitHub等),堪比EGit和Git Base的合體,機油圖形化界面,又有命令行工具,下載地址:http://www.unlimax.com/sourcetree.html SourceTree官網地址需要“FQ”才能訪問,現提供SourceTree最新版本CSDN下載鏈接地址:http://download.csdn.net/detail/wenbitianxiafeng/8475481

??

  4、SVN的管理工具

    (1)TortoiseSvn

    


?

三、Git命令行管理代碼、安裝及使用  

  1、下載安裝Git

    (1)下載Git ?官方地址為:https://git-scm.com/download/win

    (2)下載完之后,雙擊安裝

    (3)選擇安裝目錄

    (4)選擇組件

    (5)開始菜單目錄名設置

     (6)選擇使用命令行環境

    (7)以下三步默認,直接點擊下一步

                                

?    (8)安裝完成

??

    (9)檢驗是否安裝成功

      回到電腦桌面,鼠標右擊如果看到有兩個git單詞則安裝成功

?

  2、Git基本工作流程

    (1)Git工作區域

  

    (2)向倉庫中添加文件流程

    3、Git初始化及倉庫創建和操作

      Git安裝之后需要進行一些基本信息設置

      a、設置用戶名:git ?config -- global ?user.name ?'你再github上注冊的用戶名';

      b、設置用戶郵箱:git ?config -- global ?user.email ?'注冊時候的郵箱';  注意:該配置會在github主頁上顯示誰提交了該文件

?     ? ?c、配置ok之后,我們用如下命令來看看是否配置成功 git config --list

      注意:git ?config --global 參數,有了這個參數表示你這臺機器上所有的git倉庫都會使用這個配置,當然你也可以對某個倉庫指定不同的用戶名和郵箱

?

    (1)初始化一個新的git倉庫

      a、創建文件夾

        方法一:可以鼠標右擊-》點擊新建文件夾test1

        方法二:使用git新建:$ ?mkdir test1

      b、在文件內初始化git(創建git倉庫)

        方法一:直接輸入 $ cd test1

        方法一:點擊test1文件下進去之后-》鼠標右擊選擇Git Bash Here->輸入$ git int

    (2)向倉庫中添加文件  

      方法一用打開編輯器新建index.html文件

      方法二:使用git命令。$ ?touch '文件名',然后把文件通過$ git add '文件名'添加到暫存區,最后提交操作

    (3)修改倉庫文件

      方法一用編輯器打開index.html進行修改

      方法二:使用git命令。$ ?vi ?'文件名',然后在中間寫內容,最后提交操作

    (4)刪除倉庫文件

      方法一:在編輯器中直接把要刪除的文件刪除掉

      方法二:使用git刪除:$ git rm '文件名',然后提交操作

  4、Git管理遠程倉庫

    使用遠程倉庫的目的:備份、實現代碼共享集中化管理,Git遠程倉庫實際上就是保持在服務器上的git倉庫文件

?

?

?

  5、Git克隆操作,目的:將遠程倉庫(github上對應的項目)復制到本地

    (1)代碼:git clone 倉庫地址倉庫地址由來如下:

    (2)克隆項目

    (3)將本地倉庫同步到git遠程倉庫中:git push

    (4)期間出現錯誤的情況有: 

       a、出現提交錯誤

        解決:這是通過Git GUI進行提交時發生的錯誤,由 .git 文件夾中的文件被設為“只讀”所致,將 .git 文件夾下的所有文件、文件夾及其子文件的只讀屬性去掉即可。

?

       b、如果出現無法同步或沒有權限,解決方法如下:  用戶名和密碼一定要和github上的一致。

?

      c、如何解決failed to push some refs to git??在使用git 對源代碼進行push到gitHub時可能會出錯,信息如下

        出現錯誤的主要原因:github中的README.md文件不在本地代碼目錄中

        ?解決辦法:首先使用git pull拉取github上的內容、然后再使用git push即可


?


四、Git的可視化工具SourceTree管理代碼 SourceTree的使用      

?  上邊我們說了使用git命令創建、管理代碼的方式,不過挺麻煩的,這里介紹SourceTree代碼管理工具,具體怎么使用SourceTree,這里就不介紹了,網上有很多教程,請參閱https://www.cnblogs.com/tian-xie/p/6264104.html


?

?

五、git、github、gitlab之間的關系

  GIt-版本控制工具;GitHub-一個網站平臺,提供給用戶空間存儲git倉儲,保存用戶的一些數據文檔或者代碼等;GitLab - 基于Git的項目管理軟件。

  1、Git分布式版本控制系統

    (1)Git是一款自由和開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目,是版本控制工具 

    (2)Github 是 一個網站,提供給用戶空間創建git倉儲,保存用戶的一些數據文檔或者代碼等。GitHub可以托管各種git庫,并提供一個web界面,但與其它像 SourceForge或Google Code這樣的服務不同,GitHub的獨特賣點在于從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕,然后將代碼檢出并將修改加入到剛才分出的代碼庫中,最后通過內建的“pull request”機制向項目負責人申請代碼合并。已經有人將GitHub稱為代碼玩家的MySpace。

    (3)GitLab - 基于Git的項目管理軟件,GitLab 是一個用于倉庫管理系統的開源項目。使用Git作為代碼管理工具,并在此基礎上搭建起來的web服務。

    三者都是基于git的,可以說是git的衍生品。

?  2、Github和GitLab的異同點

?  (1)相同點:二者都是基于web的Git倉庫,在很大程度上GitLab是仿照GitHub來做的,它們都提供了分享開源項目的平臺,為開發團隊提供了存儲、分享、發布和合作開發項目的中心化云存儲的場所。

   (2) 不同點:GitHub作為開源代碼庫及版本控制系統,擁有超過900萬的開發者用戶,目前仍然是最火的開源項目托管系統。GitHub同時提供公共倉庫和私有倉庫,但如果要使用私有倉庫,是需要付費的。

而GitLab解決了這個問題,你可以在上面創建私人的免費倉庫。GitLab讓開發團隊對他們的代碼倉庫擁有更多的控制,相比于GitHub,它有不少的特色:允許免費設置倉庫權限;允許用戶選擇分享一個project的部分代碼;允許用戶設置project的獲取權限,進一步的提升安全性;可以設置獲取到團隊整體的改進進度;通過innersourcing讓不在權限范圍內的人訪問不到該資源。從代碼私有性方面來看,有時公司并不希望員工獲取到全部的代碼,這個時候GitLab無疑是更好的選擇。但對于開源項目而言,GitHub依然是代碼托管的首選。

轉載于:https://www.cnblogs.com/qtiger/p/11213156.html

總結

以上是生活随笔為你收集整理的代码管理工具 Git的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。