Git修改一個文件並提交到倉庫


前言

可跟蹤改動內容的文件有哪些?

  • 所有的版本控制系統,跟蹤的是什么?——跟蹤文本文件的改動(TXT、HTML)
    • 版本控制系統可以告訴你每次對文本的改動,比如在第5行增加/刪除了一個單詞“Linux”,
    • 所以圖片、視頻、word這些二進制文件,雖然也能由版本控制系統管理,但沒法跟蹤文件的變化。例如只知道圖片大小從100KB改成了120KB,但到底改了啥是不知道的

編碼選擇

  • 建議使用標准的UTF-8編碼,所有語言使用同一種編碼,既沒有沖突,又被所有平台所支持。

把文件添加到倉庫

倉庫

倉庫即版本庫,repository,也就是一個目錄,這個目錄里面的所有文件都可以被Git管理起來。

作用:跟蹤每個文件的修改、刪除,以便任何時刻都可以追蹤改動,甚至在必要的時候可以“還原”。

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

先在一個文件夾內單擊右鍵,選擇“Git Bash”

$ mkdir learngit
$ cd learngit
$ git init		 //初始化這個倉庫learngit

這樣就成功創建了一個.git的目錄(這個目錄是Git來跟蹤管理版本庫的,切勿輕易修改)

如果你沒有看到.git目錄,那是因為這個目錄默認是隱藏的,用ls -ah命令就可以看見。

2、把文件添加到本地倉庫:

$ git add readme.txt

如果是一個文件夾,則輸入

git add 

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

$ git commit -m "This is a commit: first try"	

提交完成

git push -u origin master

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

  • 千萬不要使用Windows自帶的記事本編輯任何文本文件。
  • 建議使用Visual Studio Code代替記事本,不但功能強大,而且免費!
  • 原因是Microsoft開發記事本的團隊使用了一個非常弱智的行為來保存UTF-8編碼的文件,他們自作聰明地在每個文件開頭添加了0xefbbbf(十六進制)的字符,你會遇到很多不可思議的問題。
    • 比如,網頁第一行可能會顯示一個“?”,明明正確的程序一編譯就報語法錯誤,等等,都是由記事本的弱智行為帶來的。

工作區、暫存區

工作區(Working Directory)

  • 就是你在電腦里能看到的目錄,比如我的learngit文件夾就是一個工作區:

版本庫(Repository)

工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。

Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有Git為我們自動創建的第一個分支master,以及指向master的一個指針叫HEAD

前面講了我們把文件往Git版本庫里添加的時候,是分兩步執行的:

  • 第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區
  • 第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。

你可以簡單理解為,需要提交的文件修改通通放到暫存區,然后,一次性提交暫存區的所有修改。

過程,例:

  • 我們先在工作區編輯兩個文件
  • 通過git add添加到版本庫的暫存區(Stage)
  • 現在,暫存區的狀態就變成這樣了:

  • 執行git commit就可以一次性把暫存區的所有修改提交到分支。
  • 一旦提交后,如果你又沒有對工作區做任何修改,那么工作區就是“干凈”的:

管理修改小提示

第一次修改 -> git add -> 第二次修改 -> git add -> git commit

  1. 第一次修改一個文件vim test.txt
  2. git add,放到暫存區
  3. 第二次修改這個文件vim test.txt
  4. git commit,上傳到分支
  5. 結果是只上傳了第一次的修改文件。
  6. 即:沒有被git add到暫存區的文件不會被 git commit

git初嘗試
https://blog.csdn.net/ywsydwsbn/article/details/106427905#43_github_179
git菜鳥指南
https://www.runoob.com/git/git-workspace-index-repo.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM