Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Co-Working with Past and Future

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Co-Working with Past and Future

Avatar for sudoliyang

sudoliyang

August 09, 2016

Other Decks in Technology

Transcript

  1. Installation Mac $ b r e w i n s

    t a l l g i t Ubuntu $ s u d o a p t - g e t i n s t a l l g i t Windows: https://git-scm.com/download/
  2. Config # 查看當前的設定 $ g i t c o n

    f i g - - l i s t $ g i t c o n f i g - - g l o b a l u s e r . n a m e " L i y a n g " $ g i t c o n f i g - - g l o b a l u s e r . e m a i l " s u d o . l i y a n g @ g m a i l . c o m " 也可以直接編輯 ~/.gitconfig
  3. 開始我們的第一個 Git 首先建立一個目錄 $ m k d i r P

    i k a c h u $ c d P i k a c h u 初始化 Git $ c d P i k a c h u $ g i t i n i t I n i t i a l i z e d e m p t y G i t r e p o s i t o r y i n . . .
  4. Coding # 新增一個 J a v a 檔 $ t

    o u c h P i k a c h u . j a v a 我們新增皮卡丘一個簡單的功能 p u b l i c c l a s s P i k a c h u { p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { S y s t e m . o u t . p r i n t l n ( " P i k a ! P i k a ! " ) ; } }
  5. Run Compile Pikachu $ J a v a c P

    i k a c h u Run Pikachu in Java $ J a v a P i k a c h u P i k a ! P i k a !
  6. Run Compile Pikachu $ J a v a c P

    i k a c h u Run Pikachu in Java $ J a v a P i k a c h u P i k a ! P i k a ! 什麼? 你說你沒聽過皮卡丘的叫聲? 我是傳送門
  7. 將剛剛完成的紀錄保存到 Git 吧! 就像玩遊戲一樣,玩到一半要存檔的概念 $ l s P i k

    a c h u . c l a s s P i k a c h u . j a v a Pikachu.class 是 Compile 產生的 Binary 我們只需要紀錄原始碼,所以不需要加入 .class $ g i t a d d P i c a c h u . j a v a $ g i t c o m m i t - m " a l r e a d y c o m p l e t e P i k a P i k a s o u n d s "
  8. 可以保存,那要怎麼讀出? 改壞了,將檔案還原到最後一次 commit 的紀錄 $ g i t c h

    e c k o u t f i l e n a m e 將整個 Project 還原到最後一次 commit 的紀錄 $ g i t c h e c k o u t .
  9. 查看目前的 狀態、歷史紀錄 查看目前的狀態 $ g i t s t a

    t u s 查看歷史紀錄 $ g i t l o g 查看目前的檔案與上一次的紀錄有什麼差別 $ g i t d i f f
  10. .gitignore 描述我們不希望保存到 Git 上的檔案 # P i c k a

    c h u / . g i t i g n o r e * . c l a s s 假設我們有一個 Configs 的資料夾是設定檔放著金鑰以及設定 c o n f i g / * 你也可以到這裡參考常用的.gitgnore
  11. 讓我們來連線 Github 透過 SSH 安全且快速的方式來跟 Github 連線 $ s s

    h - k e y g e n - t r s a - b 4 0 9 6 - C " y o u r _ e m a i l @ e x a m p l e . c o m " 接下來輸入三個 enter 來跳過 如果需要較高的安全性可在 passphrase 設定密碼
  12. SSH Config 因為你可能有多個 SSH Key 需要設定,所以我們使用 SSH Config 上一頁的指令會在 ~/.ssh

    建立一個 id_rsa ( 私鑰) 與 id_rsa.pub ( 公鑰) 我們將他移動到 ~/.ssh/github/ H o s t g i t h u b . c o m H o s t N a m e g i t h u b . c o m U s e r g i t I d e n t i t y F i l e ~ / . s s h / g i t h u b / i d _ r s a
  13. Clone 把別人寫好的專案拿下來 $ g i t c l o n

    e g i t @ g i t h u b . c o m : s u d o l i y a n g / P i k a c h u . g i t
  14. Remote 換句話說就是 Git 的 Server 新增遠端節點 $ g i t

    r e m o t e a d d g i t @ g i t h u b . c o m : y o u r G i t h u b U s e r N a m e / r e p o s i t o r y . g i t 檢視 Remote 節點 $ g i t r e m o t e - v 刪除 Remote 節點 $ g i t r e m o t e r m o r i g i n
  15. Push and Pull 將目前最後的 Commit Push 上 Remote $ g

    i t p u s h o r i g i n m a s t e r 將 Remote 上的資料 Pull 下來 $ g i t p u l l o r i g i n
  16. Branch 當需要開發一個新的功能時,需要做大膽的變動時 查看目前的 branch $ g i t b r

    a n c h 新增一個 branch $ g i t b r a n c h b r n a c h N a m e 切換 branch $ g i t c h e c k o u t - b b r a n c h N a m e l s
  17. GUI SourceTree Github Desktop b r e w c a

    s k i n s t a l l g i t h u b - d e s k t o p