cp2025 計算機程式

  • Home
    • SMap
    • reveal
    • blog
  • About
    • cs101
    • Computer
      • llama
      • nginx
    • AI
      • QandA
      • Teams
    • Homework
  • Topics
    • Git
      • Git_ex1
      • Git_ex2
    • Python
      • SE
      • CL
      • Loops
      • Recursion
      • SA
      • SST
      • Maze
      • Collect
      • GT
      • Python_ex1
    • Javascript
      • HTML and CSS
    • Project
      • Waitress
      • API
  • Brython
    • Brython_ex
    • Robot_ex
  • Ref
    • Reeborg
      • ex1
      • Otto_ninja
    • tkinter
    • Pyodide
    • Pyodide_ex
    • Pyodide2
      • robot.py
      • Example2
    • Pyodide3
      • png_files
      • Harvest
AI << Previous Next >> Teams

QandA

什麼是 Git?

Git 是一套 版本控制工具,可以用來追蹤檔案的修改歷史,讓你可以回到過去的版本、比較變更、多人協同創作。

適用:純文字檔案(程式碼、筆記、Markdown、論文等)

也可以用在 binary data(圖片、影片等),但效率差、不建議

因為無法有效比較或壓縮 binary 的差異

什麼是 GitHub?

GitHub 是一個線上平台,用來儲存 Git 專案、分享程式碼、團隊協同創作。

適用:開發專案、筆記、個人網站、報告等

支援 Git 的功能(如歷史紀錄、分支、協作)

支援上傳 binary,但有大小限制(單檔 100MB、整體推薦 <1GB)

大型檔案可搭配 Git LFS(進階用法)

什麼是 Gist?

Gist 是 GitHub 的一個功能,用來快速分享小段程式碼或純文字內容(像筆記、代碼片段)。

適用:分享小段 code、設定檔、筆記、Markdown

不支援上傳 binary 檔案

本質上仍是用 Git 管理的

如何透過 git 使用 Gist?

僅讀取 gist 檔案資料,並無權限維護:

git clone https://gist.github.com/mdecycu/71ff1c69dd233e6a5a83dd60997950de ex

以上指令表示要將位於 mdecycu 帳號下 Gist ID 為 71ff1c69dd233e6a5a83dd60997950de 的倉儲內容取下,且放入 ex 目錄中。

假如具備維護 gist 檔案資料的權限,則可以利用 Putty 中的 puttygen.exe 建立 OpenSSH 格式的 public key,並將其放入 Github 帳號下 Settings - SSH and GPG keys 中的 new SSH keys 欄位中,然後將格式為 Putty private key (ppk) 的私鑰存放在個人電腦或隨身碟中。然後利用 putty.exe 建立一個能以 Connection - Data - Auto-login Username 為 git,且 Host Name 為 gist.github.com 的 Session。並將此 Session 的 Connection - SSH - Auth - Credential 私鑰欄位填上 private key .ppk 的位置,即可完成此專用於連線到 Gist 的 Session 設定。假設此 Gist Session 名稱設為 "gist"。

則可用於後續維護 Gist 檔案內容的 git clone 指令為 (以下的 gist 代表 Putty 中所設定專用於 Gist 的 Session 名稱):

git clone git@gist:71ff1c69dd233e6a5a83dd60997950de.git ex2

一旦 ex2 目錄中各檔案維護告一段落後,可以進入 ex2 目錄,利用 git add .,git commit -m "提交訊息" 與 git push 將修改後的近端內容新增提交推送至 Gist 伺服器。

若希望直接在近端取得目前最新版本的檔案版本號,可以在 ex2 目錄中利用 git log -1 查詢最後一次提交的版本號,然後以下列 URL 取得 Gist 中 brython_robot.py 檔案的最新內容:

https://gist.githubusercontent.com/mdecycu/71ff1c69dd233e6a5a83dd60997950de/raw/27541a79c916e42c1f32509aa3a1c6e086923d47/brython_robot.py

其中 71ff1c69dd233e6a5a83dd60997950de 為 Gist ID,而 27541a79c916e42c1f32509aa3a1c6e086923d47 就是透過 git log -1 取得的最新版本號。

另外,若已經利用 Github 帳號下的 Settings - Developer Settings - Tokens (classic) 建立可以 Create gists 的 token,可以利用 PyGithub 模組,利用 generate_gist.py 建立 Gist 倉儲,待取得所建立 Gist 的 ID 之後,就可以將此 Gist clone 至近端維護後,再提交推送回對應帳號下的 Gist 倉儲。


AI << Previous Next >> Teams

Copyright © All rights reserved | This template is made with by Colorlib