Git新手上路,讓你快速掌握Git的基本使用


github是一個基於git的代碼托管平台,付費用戶可以建私人倉庫,我們一般的免費用戶只能使用公共倉庫,也就是代碼要公開。這對於一般人來說公共倉庫就已經足夠了。


 
   1.注冊賬戶以及創建倉庫
 
   要想使用github第一步當然是注冊github賬號了。之后就可以創建倉庫了(免費用戶只能建公共倉庫),Create a NewRepository,填好名稱后Create,之后會出現一些倉庫的配置信息,這也是一個git的簡單教程。


    2.安裝客戶端tortoiseGit
    github是服務端,要想在自己電腦上使用git我們還需要一個git客戶端,我這里選用TortoiseGit,他給我們提供了圖形界面的操作。在安裝之前首先需要安裝git,下載地址http://msysgit.github.com/,TortoiseGit下載地址: 

http://code.google.com/p/tortoisegit

   3.創建版本庫

創建一個版本庫非常簡單,首先,選擇一個合適的地方,創建一個空目錄:


$
mkdir learngit (目錄可以自己選擇:D/Mine)
$ cd learngit
(目錄可以自己選擇:D/Mine)
$ pwd/Users/michael/learngit 

pwd命令用於顯示當前目錄。這個倉庫位於/Users/michael/learngit

如果你使用Windows系統,為了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。

第二步,通過git init命令把這個目錄變成Git可以管理的倉庫:


$
git init
Initialized empty Git repository in /Users/michael/learngit/.git/
 

瞬間Git就把倉庫建好了,而且告訴你是一個空的倉庫(empty Git repository),細心的讀者可以發現當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的文件,不然改亂了,就把Git倉庫給破壞了。

如果你沒有看到.git目錄,那是因為這個目錄默認是隱藏的。

  在現有倉庫創建版本庫:

    在本地倉庫里右鍵選擇Git InitHere,會多出來一個.git文件夾,這就表示本地git創建成功。

    右鍵GitBash進入git命令行,為了把本地的倉庫傳到github,還需要配置ssh key。

    在github首頁的右上角,點擊紅框中的Create New Repo。

  

  

  進入新建倉庫的界面

  

  

  填一下倉庫名稱,Initialize this repository with a README是可選的,不過本人建議最好選上,可以在后面省一個步驟。填好之后,點Create repository就行了。


 
   4.配置Git
 
   (1) 首先在本地創建ssh key;

    $ ssh-keygen-t rsa -C "your_email@youremail.com"

 后面的your_email@youremail.com改為你的郵箱,之后會要求確認路徑和輸入密碼,我們這使用默認的一路回車就行。成功的話會在~/下生成.ssh文件夾,進去,打開id_rsa.pub,復制里面的key。回到github,進入AccountSettings,左邊選擇SSH Keys,Add SSH Key,title隨便填,粘貼key。

 

 (2)為了驗證是否成功,在gitbash下輸入:

       在初始化版本庫之前,先要確認認證的公鑰是否正確,如下:

  
ssh -T git@github.com

  正確地結果如下: 

  
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
  Hi findingsea! You've successfully authenticated, but GitHub does not provide shell access.

  會有一個Warning,不用理會

     如果是第一次的會提示是否continue,輸入yes就會看到:You’vesuccessfully authenticated, but GitHub does not provide shellaccess 。這就表示已成功連上github。


 (3)接下來我們要做的就是把本地倉庫傳到github上去,在此之前還需要設置username和email,因為github每次commit都會記錄他們。

 $ git config --global user.name "your name"
$ gitconfig --global user.email "your_email@youremail.com"



(4)接下來對庫進行clone,如下:

  
git clone https://github.com/findingsea/myRepoForBlog.git

  上面的地址可以在如下界面找到:

  

  clone成功如下:

  
Cloning into 'myRepoForBlog'...
  Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
  remote: Counting objects: 3, done.
  remote: Total 3 (delta 0), reused 0 (delta 0)
  Receiving objects: 100% (3/3), done.


 
后面的findingsea和myRepoForBlog表示你再github的用戶名和剛才新建的倉庫,加完之后進入.git,打開config,這里會多出一個remote“origin”內容,這就是剛才添加的遠程地址,也可以直接修改config來配置遠程地址。


5.上傳README.md文件

  這個時候,我們的GitHub文件夾下就多了一個myRepoForBlog文件夾,進入文件夾目錄,對倉庫進行初始化,如果我們之前沒有勾選創建README,則要先創建README.md文件,不然上傳文件會報錯。如果在第一步就勾選過了,則可以直接進入下一步。

  
git init
  touch README.md
  git add README.md
  git commit -m 'first_commit'
  git remote add origin https://github.com/findingsea/myRepoForBlog.git
  git push origin master


6.push文件

  創建完README.md后,就可以push了,代碼類似。

  
git add .
  git commit -m 'first_commit'
  git remote add origin https://github.com/findingsea/myRepoForBlog.git
  git push origin master

  如果執行git remote add origin https://github.com/findingsea/myRepoForBlog.git,出現錯誤:

  
fatal: remote origin already exists

  則執行以下語句:

  
git remote rm origin

  再往后執行git remote add originhttps://github.com/findingsea/myRepoForBlog.git 即可。

  在執行git push origin master時,報錯:

  
error:failed to push som refs to.......

 

  則執行以下語句:

  
git pull origin master

  先把遠程服務器github上面的文件拉先來,再push 上去。

 

PS: .gitignore文件
 
.gitignore顧名思義就是告訴git需要忽略的文件,這是一個很重要並且很實用的文件。一般我們寫完代碼后會執行編譯、調試等操作,這期間會產生很多中間文件和可執行文件,這些都不是代碼文件,是不需要git來管理的。我們在gitstatus的時候會看到很多這樣的文件,如果用git add-A來添加的話會把他們都加進去,而手動一個個添加的話也太麻煩了。這時我們就需要.gitignore了。比如一般c#的項目我的.gitignore是這樣寫的:

bin
.suo
obj

bin和obj是編譯目錄,里面都不是源代碼,忽略;suo文件是vs2010的配置文件,不需要。這樣你在gitstatus的時候就只會看到源代碼文件了,就可以放心的git add -A了。

  gitpush命令會將本地倉庫推送到遠程服務器。
 
  git pull命令則相反。
 
  修改完代碼后,使用gitstatus可以查看文件的差別,使用git add 添加要commit的文件,也可以用git add -i來智能添加文件。之后gitcommit提交本次修改,git push上傳到github。


 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com