iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0

我們今天要來練習使用git,為什麼要使用git?因為git可以幫你儲存你每個階段的code讓你可以省去大量備份時間,而且使用 git 的 github 可以讓你的code放在雲端就可以多人合作了
首先我們要先創建 github 帳號以及下載並安裝git(一直按下一步即可)

Git的基本介紹

大家都有玩過RPG嗎? 在打大boss之前、進一些感覺有陷阱的密室、又或純粹做錯決定時,玩家都會有志一同地:存檔、重來!遊戲狀態就會回到存檔時的那一刻。(若是人生也能這樣就好了QQ)

版本控制系統 (Version Control System, VCS)是一套能記錄所有修改版本、讓使用者能隨時取回特定版本的系統。

只要學會,無論寫錯任何程式碼、想重新找回被砍掉的功能、同時存多種不同版本 (交作業用/借人抄用)、多人協作時程式碼不會被意外蓋掉 (還能找戰犯)… VCS就是這麼好用的工具。

先來看一下版本控制系統的基本名詞:

Repository (數據庫/版本儲存庫)
用來保存歷史程式碼,和所有跑這個專案需要的東西,
包括所有原始碼、範例設計檔、文件等等。

Local (本地端)
通常是個人開發的電腦/機台。

Remote (遠端)
通常是一個共用的伺服器。

Git & ssh 遠端設定

  1. 打開Cmder輸入ssh-keygen -t ed25519 -C "<your_email@example.com>"
  • 或是輸入ssh-keygen -t rsa -b 4096 -C "<your_email@example.com>"

範例: 我gmail帳戶為jddj42840@gmail.com那我指令該輸入
ssh-keygen -t ed25519 -C "jddj42840@gmail.com"
剩下的可以先跳過(直接Enter)沒關係

  1. 去使用者找 .ssh目錄,並將用記事本將.pub打開
  • 打開內容如下,全部複製
  1. 打開 github 點擊右上角的小頭像並點擊倒數第二個 settings

  2. 點擊左邊選擇列的SSH and GPG keys

  3. 點擊 SSH keys 的New SSH key

  4. 將剛剛複製的內容放至 Key 裡面,並點擊 Add SSH Key

  5. 在表單上會看到你新增的SSH key圖示

  6. 開啟cmder並輸入 ssh -T git@github.com

輸入yes之後你會看到 Hi.....這就代表創建成功喔

git 實戰

基礎第一次使用

我們先找一個之前做的練習並用cmder開啟,我們鍵入 git init

我們去觀察一下目錄,勾選顯示隱藏項目

我們開啟 cmder 我們輸入 git status 可已看到專案底下的檔案狀態,目前都是未被追蹤的狀態

接下來我們用 add 加入本地暫存(Straging Area),本地暫存用來判斷哪些有修改過

git add *    # * 代表的是全部檔案
git status    # 

接下來我們使用 commit 將我們追蹤的 Code 放入本地 Repository(版本庫)

git commit -m "this is my first commit"    #雙引號內的東西變你打

我們看一下,輸入git log

接下來我們要去 github創建遠端版本庫

輸入版本庫名稱並建立

這裡也有教學指令

我們按照他的指令添加數據庫,數據庫名字為origin
git remote add origin https://github.com/jddj42840/gittest.git

我們來push到遠端版本庫

push origin master    # push 遠端資料庫名稱 分支(新的分支會自行創建)

成功!

在同一分支創建第二個版本

好我們先來改一下我們的 code 隨便改我這裡增加一個print,我們看一下狀態git status, 有被修改

一樣add, 一樣commit, 一樣push

我們去 github 點擊一個小時中可以看到,我們push的每一個版本

新創分支並且push

我們創建一個新分支名為 secondbranch 在 cmder 鍵入 git branch -m secondbranch
然後我們切換分支從 master 轉道 secondbranch 分支

我們看一下git 狀態,目前很乾淨

我們改個 code 改完直接add、commit

注意!!push這裡不一樣喔
git push origin secondbranch

衝突製造

我們先修改遠端數據庫

然後我們本地 code 有改一下 ,開始嘗試 add、commit、push然後就會出現錯誤

如果使用git push -f origin secondbranch 會強制覆蓋

如果使用git pull origin secondbranch,在vscode把遠端的拉下來。點擊小燈泡選擇還原此變更
就會變成遠端程式庫的內容

我們先推一遍再推自己修改的,推之前要先存檔喔!


上一篇
Day 27 專案實作 簡易的登入頁面
下一篇
Day 29 docker
系列文
資工琪琪的後端學習筆記(python&flask)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言