顯示具有 agile 標籤的文章。 顯示所有文章
顯示具有 agile 標籤的文章。 顯示所有文章

2019年1月1日 星期二

[Git筆記-4]如何將 repository 做本機和遠端的連結

如何將 repository 做本機和遠端的連結
1.請先在GitHub建主帳號,並且建立好遠端的repository,本文不說明這段,若有興趣的朋友可以參考這個連結git的初始設定
2.讓local端的repository知道remote端的位置,指令如下。
$ git remote add origin <remote 網址>

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git remote add origin https://github.com/millerhome/Hello-test.git            

3.接者準備將本地端程式 push 到遠端檔案庫:
$ git push -u origin master

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git push -u origin master                                                     
Enumerating objects: 6, done.                                                   
Counting objects: 100% (6/6), done.                                             
Delta compression using up to 8 threads                                         
Compressing objects: 100% (2/2), done.                                          
Writing objects: 100% (6/6), 525 bytes | 525.00 KiB/s, done.                    
Total 6 (delta 0), reused 0 (delta 0)                                           
To https://github.com/millerhome/Hello-test.git                                 
 * [new branch]      master -> master                                           
Branch 'master' set up to track remote branch 'master' from 'origin'.           
                                                                                

參數 -u 等同於 --set-upstream,設定 upstream 可以使分支開始追蹤指定的遠端分支。事實上,只要做過一次 $ git push -u <remote name> <branch name>,並且成功 push 出去;本機端的 master 就會被設定去追蹤遠端的 <remote name>/<branch name> 分支。只要成功設定好 upstream 後,第二次以後要上傳分支時,就只需要透過 git push 就可以了,不必再帶 <remote name> <branch name> 等參數。例如:$ git push
事實上,$ git push -u origin master 可以拆解成:

  1. $ git push origin master
  2. $ git checkout master
  3. $ git branch -u origin/master

查看GitHub帳號,就可以看看是否有執行成功。

查看GitHub就可以看到已Push上去的檔案

[Git筆記-3]git學習,commit後想取消要如何作

若是想反悔不想把檔案加入追蹤呢?
// 檔案尚未加入過追蹤時使用,即可恢復到檔案尚未加入暫存區
$ git rm --cached Test.txt
// 若檔案已經在 repository 內,則使用以下指令
// repository 與 stage 的檔案都會被還原到 HEAD,但 working directory 內的檔案不變
$ git reset HARD
若有檔案修改,記得要再 add 修改的檔案(這是新手比較容易忘記的部分),1.若是要放棄修改可以使用 git checkout -- 檔案名稱

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git checkout -- Test.txt                                                      
                                                                                

2.若檔案已經在 repository 內,則使用以下指令

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git reset HEAD Test.txt                                                       
Unstaged changes after reset:                                                   
M       Test.txt                                                                
                                                                                
3.利用git status檢查修改後的檔案。

$ git status                                                                    
                                           
                                                                                
Changes not staged for commit:                                                  
  (use "git add ..." to update what will be committed)                    
  (use "git checkout -- ..." to discard changes in working directory)     
                                                                                
        modified:   Test.txt                                                    



2018年12月31日 星期一

[Git筆記-2]建立一個新檔案,將那些檔案修改提交 commit 到 Git 中

一、在repository 檔案庫中建立一個新檔案(Test.txt),新增一些內容到該檔案並且將那些檔案修改提交 commit 到 Git 中

1.新增一個檔案Test.txt

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ ll                                                                            
total 1                                                                         
-rw-r--r-- 1 miller 197609 12 一月    1 15:27 Test.txt                          

2.利用git status來檢查hello-test狀態,會發現因為我們有新增新的檔案(Test.txt),但是還沒進到 git 追蹤範圍中/暫存區。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git status                                                                    
On branch master                                                                
                                                                                
No commits yet                                                                  
                                                                                
Untracked files:                                                                
  (use "git add ..." to include in what will be committed)                
                                                                                
        Test.txt                                                                
                                                                                
nothing added to commit but untracked files present (use "git add" to track)    
                                                                                
3.所以我們要使用 git add Test.txt 加入追蹤,這樣之後檔案有修改就可以追蹤到。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git add Test.txt                                                              
4.再利用git status來檢查狀態,若沒問題就可以準備commit 至repository。

$ git status                                                                    
On branch master                                                                
                                                                                
No commits yet                                                                  
                                                                                
Changes to be committed:                                                        
  (use "git rm --cached ..." to unstage)                                  
                                                                                
        new file:   Test.txt                                                    
5.利用git commt簽入,-m是加入簽入說明。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git commit -m "新增檔案第一次簽入"                                            
[master (root-commit) 37a839c] 新增檔案第一次簽入                               
 1 file changed, 1 insertion(+)                                                 
 create mode 100644 Test.txt                                                    
6.再利用git status檢查狀態會發現,已沒有待commit的檔案。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git status                                                                    
On branch master                                                                
nothing to commit, working tree clean                                           
7.修改後檔案需要重新add後再commit如下圖兩步驟,也可以簡寫成git commit -a -m "修改了Test.txt"

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git add Test.txt                                                              

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git commit -m "修改了Test.txt"                                                
[master 78ffdf8] 修改了Test.txt                                                 
 1 file changed, 2 insertions(+), 1 deletion(-)                                 

[Git筆記-1] Git教學影片-建立git帳號,並且新增設定工作目錄

Github 則是一個支援 git 程式碼存取和遠端托管的平台服務,有許多的開放原始碼的專案都是使用 Github 進行程式碼的管理。
Git 是一個分散式版本控制軟體
Git教學影片 

寫給大家的 Git 教學 from littlebtc


Git 基本觀念


Git 可以分為 Local(本地)和 Remote(遠端)兩個環境,由於 Git 屬於分散式的版本控制系統,所以開發者可以在離線 local 環境下開發,等到有網路時再將自己的程式推到 Remote 環境或 pull 下其他開發者程式碼進行整合。在 Local 中我們又分為 working directory(工作資料夾)、staging area(暫存區)和 repositories(檔案庫)。

實機操作
miller@miller-dell MINGW64 ~                                                    
$ mkdir hello-test                                                              
                                                                                
miller@miller-dell MINGW64 ~                                                    
$ cd hello-test                                                                 
                                                                                
miller@miller-dell MINGW64 ~/hello-test                                         
$ git init                                                                      
Initialized empty Git repository in C:/Users/miller/hello-test/.git/            
                                                                                
miller@miller-dell MINGW64 ~/hello-test (master)                                
1.mkdir 建立存放程式的資料夾(hello-test)
2.cd hello-test (切換至hello-test資料夾)
3.git init (將專案資料夾建立成 git repository)
4.git init之後多出git資夾,git資料夾內會多出列圖中的檔案及目錄。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ ls .git/                                                                      
config  description  HEAD  hooks/  info/  objects/  refs/                       
git init之後多出git資夾,git資料夾內會多出列圖中的檔案及目錄








2015年11月30日 星期一

[筆記]Scrum軟體開發速成 THE ELEMENTS OF SCRUM(二) Scrum產出物

Scrum產出物

   1. 產品待辦清單:產品待辦清單,是產品預期交付物的累積清單。包含了特性/bug 修
                                             復/文件變更及任何有意義的東西。在清單上方,大多是較小型且
                                            定義完整的項目,越往下項目越大,定義也更粗略。

            2.Sprint 清單:Sprint清單是團隊目前sprint的工作清單。它和產品待辦清單不一樣,它
         的生命週期,僅存活一個sprint的時間。sprint清單在sprint規劃會議中產
         生。一但規劃會議結束,就不可以再修改sprint清單的項目。若要變更也
         是由團隊成員發出 並於產品負責人一起修改sprint清單中的項目。

   3.燃盡圖:描述了剩餘工作隨時間變化軌跡。
正常燃圖會隨團隊不斷工作,而隨之下降。
 
有時會因為範圍變更,有所改變,上圖為需求增加,直線向上。
4.在scrum中有兩種燃盡圖:發佈燃盡圖和sprint燃盡圖。
        4.1發佈燃盡圖:此圖為產品負責人工具,以追踪工作之用。
4.1
           4.2Sprint燃盡圖:如同發佈燃盡圖,sprint燃盡圖則顯示出目前Sprint剩餘
                工作量的變化。

    5.工作看板:有下列幾種看板範例。









2015年11月27日 星期五

[筆記]Scrum軟體開發速成 THE ELEMENTS OF SCRUM(一)

Product Owner
            1.負責待辦清單
                        1.1  待辦清單來源自,另一份按優先順序排序的清單
      1.2  內容包括 新特性/錯誤修復

   2.Index Card
                        2.1 內容記錄,記錄待辦清單中的特性,一張只記錄一個特性。這些特性稱為 
        User stories。
      2.2 User stories:由團隊成員逐一討論,確認其驗收標準,與故事的完成的模
             樣,團隊成員並討論,要完成這些故事,要做那些工作,有那
             些類型,有多少工作量。若有不清楚的故事,可以排除在當次
             的sprint。

             3.Daily Scrum每日站立會議:團隊成員輪流分享資訊。前一天完成了什麼工作;今天
                                                               打算完成什麼工作;有沒有碰到什麼障礙或問題。

             4.清單整修會議:對產品待辦清單上的故事,進行再次討論並對故事內容有疑慮的地
                                           方再確認。包含故事點的計算及故事的拆解。

Scrum角色:
   1. 產品負責人:唯一有權要求團隊做事及改變待辧清單優先順序的人。
      1.1 掌握產品願景
      1.2    代表業務
      1.3 代表客戶
      1.4 持有產品待辦清單
      1.5 劃定故事優先順序
      1.6 設定故事驗收標準
      1.7 有空回答團隊成員們的問題

   2. scrum master:引領團隊達到更高級的凝聚力,自我組織和表現。團隊的交付物是產
                                        品,而scrum master的交付物是自我組織的團隊。scrum master不是團隊
                                        的老闆僅限於透過影響力所得的領導力。引導scrum會議,幫助團隊理
                                        解和使用scrum的產出物。另一個關鍵作用是替團隊掃除障礙。
      2.1 scrum專家和諌言者。
      2.2 教練
      2.3 障礙移除者
      2.4 引導者


   3.團隊成員:
                        3.1 團隊成員可以全權決定如何完成工作,也可決定要使用的工具和技術。
      3.2 負責估計實現特性需要的工作量。
      3.3 順序由產品負責人決定,完成特性或工作需要多少時間,由團隊成員決
        定。
      3.4 負責交付使用者故事。

Sprint週期
                               
            1.一個Sprint通常為兩週,通常不會超過四週。初期scrum團隊會設成一週,以精練 
     scrum技巧。      
Sprint的各種會議
   2.Sprint規劃會議:Sprint規劃會議代表著Sprint的開始,區分兩部份,第一部份目標
    是,團隊要選擇一組交付物作為目前Sprint的承諾。第二部份,團隊要羅列出交付
    使用者故事(交付物)所需完成的所有工作。
       
                         2.1 第一部份[要做什麼?]:團隊成員與產品責人討論所有的故事(交付物),
        及各故事的驗收標準。團隊成員協商解決各故事依懶性問題,並討論實現
        故事要做那些工作。

      2.2第二部份[要怎麼做?]:團隊把選定的故事(交付物)分解成,所需要執行
        的工作。討論的過程中產品負責人要全程在場,以便回答問題。
   
   3.每日站立會議:開會時間不應該超過15分鐘,快速分享前日已經完成內容,並報告
           預計完成的內容。

   4.故事時間(清單整修會議):也有人稱作[清單稱修]會議,重新檢視清單中,未完
                 成的故事,是否需要在拆解成更小的故事,或故事有
                 不清楚的要重新理解,目的在於,要保持清單中,隨
                 時都要有一小批,已被充份理解的小故事
    
    5.Sprint檢視:也稱作Sprint Demo,目的在於展示,團隊成員的工作成果,可以邀請
         Product Own,也可以邀利害關係人一同參加。會議長度依1週的sprint約
         莫1小時為基礎。Product Own及團隊成員,可以收集會議中的回饋,當作
         之後Sprint的故事。

   6.自省會議:自省會議在每個sprint的最後才召開,目的是為了幫助團隊持續地進行檢
         驗和調整,希望能升提績效幸福感。每個開發週期以1~2小時的比
         例進行安排,最多不要超過3小時。自省議程如下:
        
       6.1 準備階段:這階段重視[建主共同的目標],讓團隊了解開會的目的,
              是為了團隊提升,而不是個人的檢討。

       6.2 收集資料:在sprint中發生了什麼。可以利用開會技巧幫助團隊,以保持
              思路清晰且不偏主題。

       6.3 洞察問題:這階段重視[為什麼],找出問題發生的原因,過程中不聚
              焦在人,而是在問題本身

                            6.4 確定方案:自省會議的問題也許有很多,最好的辦法是,一次自省會議
              ,只決解一個問題。

       6.5 結束:用感謝來當作結束,讓成員說出在sprint中可以感謝的人事物,
            可以讓團隊更加團結。

Sprint 的異常終結:在正常的Sprint中,管理層不會要求,改變需求。異常終止通常發生在外部因素。在終結前若還有可交付部份,則還是可以做Sprint Demo及自省會議,由其自省會議對異常終結Sprint來說尤其重要。