1. 程式人生 > 其它 >1、Git修改一個檔案並提交到倉庫

1、Git修改一個檔案並提交到倉庫

前言

可跟蹤改動內容的檔案有哪些

  • 所有的版本控制系統,其實只能跟蹤文字檔案的改動,比如TXT檔案,網頁,所有的程式程式碼等等,Git也不例外。
    • 版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”。
  • 圖片、視訊這些二進位制檔案,雖然也能由版本控制系統管理,但沒法跟蹤檔案的變化。
    • 例如只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道。
    • 不幸的是,Microsoft的Word格式也是二進位制格式。

編碼選擇

  • 建議使用標準的UTF-8編碼,所有語言使用同一種編碼,既沒有衝突,又被所有平臺所支援。

正文:把檔案新增到版本庫

0、建立一個倉庫並初始化

  • 版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄裡面的所有檔案都可以被Git管理起來。
  • 每個檔案的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。
$ mkdir learngit
$ cd learngit

$ git init		 //初始化這個倉庫learngit
Initialized empty Git repository in /Users/michael/learngit/.git/
  • 當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裡面的檔案,不然改亂了,就把Git倉庫給破壞了。
  • 如果你沒有看到.git目錄,那是因為這個目錄預設是隱藏的,用ls -ah命令就可以看見。

1、現在我們編寫一個readme.txt檔案,內容如下:

Git is a version control system.
Git is free software.

一定要放到learngit目錄下(子目錄也行),因為這是一個Git倉庫,放到其他地方Git再厲害也找不到這個檔案。

2、用命令git add告訴Git,把檔案新增到倉庫:

$ git add readme.txt

3、用命令git commit告訴Git,把檔案提交到倉庫:

$ git commit -m "This is a commit: wrote a readme file"	//m後面輸入的是本次提交的說明,最好是有意義的註釋,便於以後查詢

[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)	//一個檔案改動了,增加兩行內容
 create mode 100644 readme.txt

另:多次add,一次commit:

為什麼Git新增檔案需要addcommit一共兩步呢?因為commit可以一次提交很多檔案,所以你可以多次add不同的檔案,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

報錯

Aborting commit due to empty commit message.	//未提交註釋,在-m後面一定要加上“註釋的內容”

使用Windows的童鞋要特別注意:

  • 千萬不要使用Windows自帶的記事本編輯任何文字檔案。
  • 建議使用Visual Studio Code代替記事本,不但功能強大,而且免費!
  • 原因是Microsoft開發記事本的團隊使用了一個非常弱智的行為來儲存UTF-8編碼的檔案,他們自作聰明地在每個檔案開頭添加了0xefbbbf(十六進位制)的字元,你會遇到很多不可思議的問題。
    • 比如,網頁第一行可能會顯示一個“?”,明明正確的程式一編譯就報語法錯誤,等等,都是由記事本的弱智行為帶來的。
“朝著一個既定的方向去努力,就算沒有天賦,在時間的積累下應該也能稍稍有點成就吧。”