2013年9月3日 星期二

Git入門筆記(一)

學習Git方面起步有點跌跌撞撞

主要是一開始對於版本控制還沒有建立清楚的概念

首先可以先參考下面幾個網頁
1.http://git-scm.com/blog
對於每個操作他都也列入完整的圖片說明

2.http://gitreal.codeschool.com/levels/1
另外code school的這個教學level 1 講解的也很清楚 對於剛入門的我來說非常有幫助
裡面有很生動的動畫告訴你每一個指令發生了什麼事 也有練習可以做

3.http://try.github.io/levels/1/challenges/1
我建議先看過第二個連結再來利用這個網站練習
看過之後再來做會比較能想像這些指令在做些什麼
可以多練習幾次會越來越有感覺


接下來我要對第一個連結的內容與圖片做簡單的整理:



  • 先記住“stage”“commit”“checkout”
先來看看git最主要的操作流程如下圖























假設我們今天開始了一個專案,這個專案今天有兩個檔案被修改了
當修改完後我們必須將這些修改給提交上去

從上圖的最右邊開始看  當我們完成了檔案的修改之後
必須先做一個stage的動作“讓檔案到stage的狀態
而這個動作是透過add的指令來做

可以來思考一下 你加入了這些檔案之後 你是不是該對這個檔案做一些說明
告訴大家你對這些檔案作了怎樣的修改

因此當你對幾個修改過的檔案作stage之後,你就可“commit”出去


Q1:所以我每次改完一個檔案就要做commit?
不一定,每次的commit就像是我們遊戲的存檔,
你不會希望你在玩遊戲每玩一步就存檔一次
只有當你玩到覺得到一段落才會做存檔

Q2:所以可以一次stage 多個檔案之後 再做commit?
沒錯,就像是你把很多個要寄出去先放到一個大箱子一次寄出去

  • “push”“pull”
到上面為止我們的工作都只在local端進行修改我們的repository
當完成多個commit後 也許要上傳到remote端了 就會需要用到push
而要從remote端取得資料則是使用pull


  • “等等,所以指令呢?所以要怎麼做呢?” 
  • “下面就開始實際操作

1.先到專案的資料夾裡面

git int

這時候就會產生git repository 如下圖:

而今天我們在這個資料夾中新增了一個file.txt檔



















2.將檔案做stage

git add file.txt

他就會變成stage的狀態如下圖:

我們可以看到file.txt被放到index中,當然你可以多放幾個進去




















3.當我們完成stage的動作後 就要做commit的動作

git commit -m "你這次commit所作的修改說明"

我們可以看到我們的檔案在repository中產生了一個新的版本




















4.之後當你對檔案作了修改 我們可以用

git status

來查詢我們的檔案有哪裡做修改卻還沒update

下圖是我們對file.txt作了修改





















5.再對這些檔案作staging 並commit

git add file.txt









git commit -m "你對這個檔案修改的說明"





















這樣就能順利提交檔案到local端的repository摟!

<注意>
1.目前我們所做的這些動作都只限在本地端 所以還沒有做push的動作
2.在使用前一定要先裝git

另外更多的觀念與操做等我整理完再更新摟



沒有留言:

張貼留言