切換到電腦終端機,移動到你要新增資料夾的地方,然後輸入
git clone xxxxx#你複製的
cd /Users/hongweishiung/Desktop/learngit
**注意那個點要有空格,但強烈不推薦這樣的作法,這樣的方法雖然方便但很容易會不小心加入一些 其他不必要的 檔案,一個正確的觀念是你必須隨時都很清楚你的檔案狀態,因此最好是手動將你確定要加入的檔案使用 git add 來加入,有一個更好的作法是使用互動模式 git add -i ,在互動模式下你可以方便的選擇你要加入的 檔案,或是移除剛剛不小心加入的檔案 (revert)。
**一個 commit 在 Git 中就是一個節點,這些 commit 的節點就是未來你可以回朔及追蹤的參考,讓我們未來 在需要的時候都可以回到這些存檔時的狀態。所以後面這串是指你對這個版本的名稱。寫下你這次 commit 的訊息, 例如在這裡寫下 “Add test.rb file to test git function”來表示這一次提交的目的,強烈建議在 commit 的時候要盡量清楚表達這次 commit 的內容為何,因為這會讓你未來要回頭看 code 的時候能讓你快速 的找到你想要找的內容,也能對團隊中其他成員了解你在做什麼。
git push
**commit message不是一行字時:git commit (會進入文字編輯器Vi!:按下crtl+x輸入,在第一行輸入文字後,按下esc接著會跳到最下面一行並且輸入:wq) : 代表接下來為指令 w 代表寫入 = 儲存 q 代表離開程式 ! 代表強制執行 ,有時候因為一些因素導致安全機制不讓你寫入。
**每次更動一個資料夾中檔案,使用git commit 紀錄版本,會把該版本的message覆寫到該資料夾中每個檔案。因此要記錄某個特定版本的時候要記得git commit [file]去填寫版本message
cd /Users/hongweishiung/Desktop/learngit
git add .
or
git add -i
**注意那個空白,但強烈不推薦這樣的作法,這樣的方法雖然方便但很容易會不小心加入一些 其他不必要的 檔案,一個正確的觀念是你必須隨時都很清楚你的檔案狀態,因此最好是手動將你確定要加入的檔案使用 git add 來加入,有一個更好的作法是使用互動模式 git add -i ,在互動模式下你可以方便的選擇你要加入的 檔案,或是移除剛剛不小心加入的檔案 (revert)。
git commit -m “FIrst commit”
or
git commit howtogit.txt(your file name)
**一個 commit 在 Git 中就是一個節點,這些 commit 的節點就是未來你可以回朔及追蹤的參考,讓我們未來 在需要的時候都可以回到這些存檔時的狀態。所以後面這串是指你對這個版本的名稱。寫下你這次 commit 的訊息, 例如在這裡寫下 “Add test.rb file to test git function”來表示這一次提交的目的,強烈建議在 commit 的時候要盡量清楚表達這次 commit 的內容為何,因為這會讓你未來要回頭看 code 的時候能讓你快速 的找到你想要找的內容,也能對團隊中其他成員了解你在做什麼。
git push
成功會長這樣
Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 627 bytes | 627.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: Resolving deltas: 100% (2/2), completed with 2 local objects. To https://github.com/hwh98/learngit.git + 1056c13…b7eb91e master -> master (forced update)
來檢查目前 Git 的狀態,看有沒有Untracked file /changed to be commit Untracked file :完全新的檔案 Changes not staged for commit:已經有被git add進去追蹤了,但是有被更改過等等….,正在等待被提 交至遠端數據庫
會列出更動的紀錄:加號(+)代表增加的部份,減號(–)代表刪除的部份。
可以看到更詳盡的訊息:
git log —stat
可以看到變更的內容:
git log -p
重新了解一段程式碼更動的脈絡很浪費腦力。雖然這件事情沒辦法完全避免,但是我們可以盡量降低這件事情的複雜 度。Commit messages 正可以做到這點,而我們可以從 commit message看出一個開發者是不是一位好的合作對象。(當然現階段來說並不會到很重要,因為我們開發的專案不是到非常大,但養成一個好習慣、擁有一個好的觀念是很重要,就像是註解你的程式碼)
風格. Markup syntax,wrap margins,文法,大寫慣例,符號慣例。定義這些事情,不要用猜的,並且讓它愈簡單愈好。最後的結果會得到一個非常一致的 log,不僅在閱讀時是一種享受,更重要的是人們真的會經常性的去讀它們。
內容. 什麼樣的資訊需要放置在 commit message body 中?什麼不需要?
Metadata. issue tracking IDs, pull request 號碼等等的資料該如何被參照?
1.用一行空白行分隔標題與內容
2.限制標題最多只有 50 字元
3.標題開頭要大寫
4.標題不以句點結尾
5.以祈使句撰寫標題
6.內文每行最多 72 字
7.用內文解釋 what 以及 why vs. how
**git commit -m “xxxx”只能攥寫該版本標題
用git commit 就可以才可以標題和文字較多的內文
source:https://blog.louie.lu2017/03/21/%E5%A6%82%E4%BD%95%E5%AF%AB%E4%B8%80%E5%80%8B-git- commit-message/
1.我在commit 到遠端數據庫的時候遇到
Updates were rejected because the tip of your current branch is behind
網路上的版本比你現在電腦的版本還要新!可能是因為有個人也同時在打code他比你早先推上去however,你也可以忽視這個使用 git push -f(force)強迫把自己的推上去把網路上的新版本蓋 掉,但不太建議