1. 程式人生 > 其它 >Git 學習筆記

Git 學習筆記

Git是分散式伺服器

自報家門:你的名字和Email地址

# 安裝完,使用Git前需 自報家門
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

1. 建立倉庫(建立版本庫):

git init

2. 新增到版本庫:

git add filename

git commit -m '註釋'

3. 版本回退管理:

git status 檢視當前版本庫狀態

git diff 檢視具體修改內容

git log 檢視歷史提交版本資訊

git log --pretty=oneline

檢視歷史版本資訊簡約化

git reset --hard HEAD^ 歷史版本回退,一個^回退一個版本

git reset --hard 版本號 歷史版本回退

git reflog 記錄你的每一次命令

4. 工作區和暫存區、版本庫

工作區:工作目錄

暫存區:git add

版本庫:git commit

5. 管理修改(操作)

Git跟蹤並管理的是修改,而非檔案。記錄、提交操作

6. 撤銷修改

  1. 自修改後還沒有被放到暫存區: git checkout -- fileName

  2. 已經新增到暫存區後: git reset HEAD fileName git checkout -- fileName

  3. 已經放到版本庫裡 參考“ 3.版本回退 ”

7. 刪除檔案

  1. 自然刪除,未被新增到版本庫:rm fileName(右鍵刪除)

  2. 已經新增到版本庫:

    1. 徹底刪除:rm fileName(右鍵刪除) git rm fileName git commit -m 'remove'

    2. 恢復原樣:rm fileName(右鍵刪除) git checkout -- fileName

8. 分支管理

  1. 建立並切換分支: git checkout -b ‘分支名稱’

  2. 切換分支: git checkout ‘分支名稱’

  3. 檢視分支: git branch

  4. 合併分支: git merge ‘分支名稱’

    在主分支下合併

  5. 刪除分支: git branch -d ‘分支名稱’

  6. 建立分支不切換分支: git branch ‘分支名稱’

  7. 切換分支(新版本): git switch ‘分支名稱’

9. 分支解決衝突

合併不同分支提交的內容,最後由master主分支add,然後commit提交

10. 關聯遠端倉庫:github

  1. 建立SSH Key:ssh-keygen -t rsa -C "[email protected]";在cmd中執行

  2. 用github賬號建立SSH Key的關聯

  3. 建立倉庫,上傳本地倉庫程式碼

    1. git remote add origin https://github.com/xxxx/xxxx

    2. git branch -M main(可不用)

    3. git push -u origin master(main)如果執行②則master改為main

    4. 修改程式碼再次上傳:git push

  4. 上傳所有檔案 git add .

11. github的忽略檔案

.gitignore檔案中的,不會被上傳

12. 關聯遠端倉庫:gitee(碼雲)

  1. 建立遠端倉庫

  2. 克隆遠端倉庫:git clone '遠端倉庫url'

  3. 新增本地倉庫

    1. git add .

    2. git commit -m '註釋'

    3. git push

  4. 向本地拉取

    git pull

13. 遠端倉庫操作容易產生衝突

1.多人同時上傳

解決:

  1. git pull

  2. 保留多人修改的內容

  3. git add ‘filename’

  4. git commit -m '註釋'

  5. git push

2.一個人修改上傳,我本地也修改程式碼,但我不把自己修改了的程式碼更新到倉庫。這時拉取git pull,會覆蓋自己所寫程式碼

解決:

  1. 每次更新前,先把自己的程式碼提交到本地倉庫

  2. git add '提交的檔名'

  3. git commit -m '提交註釋'


人生人山人海人來人往,自己自尊自愛自由自在。

本文來自部落格園,作者:青檸i,轉載請註明原文連結:https://www.cnblogs.com/fuct/p/15404115.html