1. 程式人生 > >GitHub入門與實踐 學習筆記(一)

GitHub入門與實踐 學習筆記(一)

lac 連接 創建分支 rap 自動 成功 -- repo 哈希

Pull Request 是指開發者在本地對源代碼進行更改後,向 GitHub中托管的 Git 倉庫請求合並的功能。

GitHub 的 Pull Request 不但能輕松查看源代碼的前後差別,還可以對指定的一行代碼進行評論。

任務管理和 BUG 報告可以 通過 Issue 進行交互。如果想讓特定用戶來看,只要用"@ 用戶名"的 格式書寫,對方便會接到通知(Notifications)。

在 GitHub 上, 用 戶 所 有 用 文 字 輸 入 的 功 能 都 可 以 用 GitHub Flavored Markdown(GFM)語法進行描述。

將感興趣的倉庫添加至 Watch 中,就可以在 News Feed 查 看該倉庫的相關信息。

對於倉庫,也可以使用 Watch 功能獲取最新的開發信息。

點擊右上角工具欄裏的 New repository 圖標,創建新的倉庫。

在 Initialize this repository with a README 選 項 上 打 鉤, 隨 後 GitHub 會 自 動 初 始 化 倉 庫 並 設 置 README 文 件, 讓 用 戶 可 以 立 刻clone 這個倉庫。如果想向 GitHub 添加手中已有的 Git 倉庫,建議不要勾選,直接手動 push。

這個設定會幫我們把不需要在 Git 倉庫中進行版本管理的文件記錄在 .Gitignore文件中。

如果這個倉庫中 包含的代碼已經確定了許可協議,那麽請在這裏進行選擇。隨後將自動生成包含許可協議內容的 LICENSE 文件,用來表明該倉庫內容的許可協議。

README.md 文件的內容 會自動顯示在倉庫的首頁當中。因此,人們一般會在這個文件中標明本倉庫所包含的軟件的概要、 使用流程、 許可協議等信息。

輸入 GitHub 上設置的公開密鑰的密碼。認證成功後, 倉庫便會被 clone 至倉庫名後的目錄中。將想要公開的代碼提交至這個倉庫再push 到 GitHub 的倉庫中,代碼便會被公開

還沒有添加至 Git 倉庫的文件——顯示為 Untracked files。

通過 git add命令將文件加入暫存區,再通過 git commit命令 提交。添加成功後,可以通過 git log命令查看提交日誌。

實 際 使 用 時, 只 需 將 LICENSE 文 件 加 入 倉 庫, 並 在 README. md 文件中聲明使用了何種許可協議即可。

執行 push,GitHub 上的倉庫就會被更新。

使用 git init命令進行初始化。如果初始化成功,執行了 git init命令的目錄下就會生成 .git 目 錄。這個 .git 目錄裏存儲著管理當前目錄內容所需的倉庫數據。在 Git 中,我們將這個目錄的內容稱為"附屬於該倉庫的工作樹"。

文件的編輯等操作在工作樹中進行,然後記錄到倉庫中,以此管理文件的歷史快照。如果想將文件恢復到原先的狀態,可以從倉庫中調取之前 的快照,在工作樹中打開。

git status命令用於顯示 Git 倉庫的狀態, git status命令查看當前狀態。

所謂提交 (Commit),是指"記錄工作樹中所有文件的當前狀態"。

要想讓文件成為 Git 倉庫的管理對象,就需要用 git add命令將其 加入暫存區(Stage 或者 Index)中。暫存區是提交之前的一個臨時區域。

git commit命令可以將當前暫存區中的文件實際保存到倉庫的歷史記錄中。通過這些記錄,我們就可以在工作樹中復原文件。

如果想要記述得更加詳 細,請不加 -m,直接執行 git commit。

編輯器中記述提交信息的格式如下:

  • 第一行:用一行文字簡述提交的更改內容
  • 第二行:空行
  • 第三行以後:記述更改的原因和詳細內容 只要按照上面的格式輸入,今後便可以通過確認日誌的命令或工具 看到這些記錄。

在以 #(井號)標為註釋的 Changes to be committed(要提交的更改)欄中,可以查看本次提交中包含的文件。將提交信息按格式記述完畢後,請保存並關閉編輯器,以 #(井號)標為註釋的行不必刪除。隨後,剛才記述的提交信息就會被提交。

如果在編輯器啟動後想中止提交,請將提交信息留空並直接關閉編輯器,隨後提交就會被中止。

git log——查看提交日誌。

顯示第一行簡述信息,可以在 git log命令後加 上 –pretty = short 。

git log命令後加上目錄名,便會只顯示該目錄下的日誌。如果加的是文件名,就會只顯示與該文件相關的日誌。加上 -p參數,文件的前後差別就會顯示在提交信息之後。

get diff命令可以查看工作樹、暫存區、最新提交之間的差別。"+"號標出的是新添加的行,被刪除的 行則用"-"號標出

用 git add命令將 README.md 文件加入暫存區。在執行 git commit命令之前先執行 git diff HEAD命令,查看本次提交與上次提交之間有什麽差別,等確認完畢後再進行提交。這裏的 HEAD 是指向當前分支中最新一次提交的指針。

在進行多個並行作業時,我們會用到分支,每個分支中都擁有自己的最新代碼。

master分支是 Git 默認創建的分支,因此基本上所有開發都是以這個分支為中心進行的。

git branch命令可以將分支名列表顯示,同時可以確認當前所在 分支。

git checkout -b branchName——創建、切換名為branchName的分支。"-"(連字符)代替分支名,就可以切換至上一個分支。

創建分支時,不需要連接中央倉庫。

特性分支——集中實現單一特性(主題),除此之外不進行任何作業的分支。

穩定分支的角色通常 由 master 分支擔當。

擁有多個版本發 布時,主幹分支也有多個。

在歷史記錄中明確記錄下本次分支合並,我們需要創建合並提交。因此,在合並時加上 --no-ff參數。

git log --graph——以圖表形式查看分支

要讓倉庫的 HEAD、暫存區、當前工作樹回溯到指定狀態,需要用到 git rest --hard命令。只要提供目標時間點的哈希值,就可以完全恢復至該時間點的狀態。

哈希值在每個環境中各不相同,讀者請查看自身當前環境中 Add index 的哈希值, 進行替換。

GitHub入門與實踐 學習筆記(一)