1分鐘學會用Git管理代碼

來源:互聯網
上載者:User

本文是一個入門級的使用教程,簡單介紹最基礎的命令,專為想用git而不知從何下手的苦手準備。git是新流行起來的代碼管理工具,最著名的應用是 linux核心代碼管理。Git比SVN好的地方在於兩點:輕量級、分布式。其中分布式的意思是Git不需要一個中心伺服器,或者說任何一台使用git的電腦都可以當伺服器,建立程式碼程式庫伺服器異常簡單。

本文不重點介紹git的安裝,簡單說一下:在Ubuntu/Debian下直接apt-get:

sudo apt-get install git-core

就OK了。目前為止git沒有為Windows專門寫安裝包,如果要在Windows下使用git,需要cygwin,也不麻煩,但本文就不多做說明了。

以下分兩種應用情境來說明git的使用。1. 個人使用,不用建專門的代碼伺服器。2. 多人維護代碼,需要代碼建伺服器。

1. 個人使用,不用建專門的代碼伺服器。

很簡單。假設你的代碼放在/home/runningon/project目錄下(非空),那麼運行:

git init

git add .

git commit -m "init version"

然後git程式碼程式庫就建立好了,目錄下會多出個.git目錄來。git init就是初始化,git add是標記上要添加的檔案,"."表示目前的目錄,此命令會遞迴標記所有子目錄及檔案。git commit就是把標記上的檔案和修改的檔案commit到git庫裡,-m參數是添加對此次commit的注釋,git要求每次commit都必須有注釋,如果沒有-m參數,將會自動開啟一個編輯器(通常是vi或nano)要求輸入注釋。

以後,如果修改了檔案,則運行

git commit -m "<comments>"

就可以將修改反映到git庫,將<comments>替換為你想要的注釋。

如果添加了代碼檔案new_file,則在commit之前運行

git add new_file

如果想把程式碼複製品一份出來,進入你想複製到的目錄運行:

git clone /home/runningon/project new_project

注意git clone後有兩個參數,第一個參數是原始碼目錄,也就是含有.git檔案夾的目錄。第二個參數是要複製到的目錄,如果省略,則會在目前的目錄下建立一個與原始碼目錄同名的目錄,在本例中就是./project

複製出的目錄包含複製前目錄的所有代碼修改資訊,是完全獨立的,即之後在new_project下的所有修改與commit都不會影響原project。

2. 多人維護代碼,需要代碼建伺服器。

假設代碼伺服器的IP是10.0.0.2。git預設用ssh作為網路通訊協議,所以在伺服器10.0.0.2上安裝之:

sudo apt-get install ssh

然後添加一個使用者,比如code,home目錄是/home/code。以code使用者登入10.0.0.2,建立一個/home/code/project目錄來存放代碼。在/home/code/project目錄下運行:

git --bare init

一條命令就把伺服器就建好了,小菜吧。--bare命令是告訴git目前的目錄不含代碼,以後commit時只用儲存修改就可以了。

在本機下載代碼與情況1一樣:

git clone /home/code/project new_project

如果要在另外的電腦下載代碼,運行:

git clone code@10.0.0.2:project new_project

此命令會以ssh方式串連10.0.0.2,如果第一次串連,會詢問是否信任該伺服器,輸入yes後。然後輸入code使用者的密碼就可以了。//注,原文作者說code@10.0.0.2:project這裡需要home目錄,其實不需要,這裡親測user@192.168.0.136:/media/Disk1_150G/tommy-test,即使用“使用者名稱@絕對路徑”的方式也是可以的。

注意git clone後第一個參數的格式,為<使用者名稱>@<伺服器IP>:<相對路徑>,其中<相對路徑>是指相對於<使用者名稱>所在home目錄的相對路徑,比如此例中,code的home目錄是/home/code,那麼此例的路徑實際為/home /code/project。<相對路徑>不能留空或省略,如果代碼確實是在home目錄下,則<相對路徑>是".",不含雙引號。要提醒一下的是,如果程式碼程式庫是空的,會給出警告,不必理會。

如果在new_project裡修改了代碼,且添加了新代碼new_file,想把這修改commit到伺服器上,先運行:

git add new_file  //這裡也可以使用git add . 來完成,應為伺服器上只會儲存修改,所以全部上傳也可以。

git commit -m "<comments>"

將<comments>替換為你的注釋。這樣代碼就commit到當前機器的new_project了。如果想commit到伺服器上,則在new_project目錄下運行:

git push code@10.0.0.2:project master

然後輸入code使用者的密碼。master不是目錄名,具體含義本文不作解釋。

如果本機就是伺服器,那麼IP地址可以寫為localhost或127.0.0.1。

如果覺得每次輸入code@10.0.0.2:project很麻煩,可以為這個URL取個別名my_server:

git remote add my_server code@10.0.0.2:project

這樣前一條git push命令可以寫作:

git push my_server master

好了,入門級介紹就結束了。

更多閱讀:

Git使用教程與基本原理

《Pro Git》中文版 PDF

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.