git分為四個區:遠端倉庫、本地倉庫、暫存區、工作目錄
比較項git clone
git fetch
git pull
是否需要初始化本地倉庫否是
是是否可以直接推送到遠端是否
否git pull 是拉取遠端分支更新到本地倉庫再與本地分支進行合併
即:git pull = git fetch + git merge
分支保證了能夠多人同時開發,最終合併分支完成**合併
git init # 初始化乙個空的 git 本地倉庫
git add readme.md # git add 命令可將該檔案新增到暫存區
git commit -m "first commit"
# 主要是將暫存區裡的改動給提交到本地的版本庫,這裡會在本地預設建立乙個 master 分支
git branch -m main # 把本地剛建立的 master 分支重新命名為 main
git remote add origin # 關聯到乙個遠端倉庫
git push -u origin main # 將本地資訊推送到遠端 main 分支,-u 指定了下一次 git push 就不用再指明分支了,即 git push === git push origin main
遠端倉庫通過git的配置獲取我們的郵箱來和賬戶進行關聯,從而對我們的賬號進行驗證。
,必須要配置才能夠提交
git config --global user.name 'iiyuwan'
git config --global user.email '[email protected]'
git config --list # 檢視配置資訊
ssh-keygen -t rsa -c "[email protected]"
# gitbash 裡開啟
# /c/users/juice/.ssh/id_rsa 檔案生成路徑
git clone https/ssh # https 使用 443 埠,只要賬號和密碼就可進行倉庫的讀寫
# ssh 使用 22 埠,通過 ssh-keys 進行授權來對倉庫進行讀寫
git clone -b 分支名 ***.git # 轉殖指定分支,預設是 master 分支,會在本地建立同名 master 分支;如果指定了 yy 分支,則本地會建立 yy 分支,並且已經建立了關聯,即可以直接 git push 到遠端的 yy 分支
git pull origin 分支名 # 拉取最新的遠端分支**
git push origin main # 指定從本地倉庫推送到遠端的 main 分支
git push --set-upstream origin branch1 # 將本地分支 branch1 推送到遠端倉庫,並在遠端建立該分支
*.txt # 忽略所有 .txt 結尾檔案
!lib.txt # 但 lib.txt 除外
/temp # 忽略 temp 下所有檔案
build/ # 忽略 build 目錄下所有檔案
doc/*.txt # 忽略 doc 一級子目錄下的所有 .txt 檔案,子目錄不忽略
git log --pretty=oneline # 以一行顯示每個版本資訊
git reflog # 可以看到回退到某個版本的步數
git reset --hard 雜湊值 # 回退或前進到某個版本,--hard 會重置暫存區和工作區,在本地庫移動 head 指標
git branch -v # 檢視本地分支 -a 檢視本地和遠端分支,
git branch 分支名 # 建立分支
git checkout 分支名 # 切換分支
git checkout -b 分支名 # 建立並切換分支
git merge hox_fix # 合併分支:注意是要切換到目標分支,如 hot_fix 要合併到 master分支,就要切換到 master 分支
#本地建立乙個新分支:yy,如果沒給遠端關聯而直接 git pull 就會出現錯誤
git branch --set-upstream-to=origin/yy yy # 將本地建立的這個分支與遠端的 yy 分支關聯
git checkout master
git branch -d dev # 刪除本地分支:注意需要先切換到其他分支
git push origin --delete 分支名 # 刪除遠端分支
1.3.8.1. 分支衝突
手動修改檔案,再提交就可以了
<<<
<<<
<<< head
aaa aaa # 當前分支內容
====
====
bbb bbb # 另外分支內容
>>
>>
>>
>>
# 手動決定哪些需要,哪些不要
git add [檔名]
git commit -m "修復衝突"
# 這裡不要加檔名
GIT知識總結
初始化乙個git倉庫,使用git init命令。新增檔案到git倉庫,分兩步 head指向的版本就是當前版本,因此,git允許我們在版本的歷史之間穿梭,使用命令git reset hard commit id。穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本。要重返未來,用git ...
git知識總結
1.新建倉庫 在乙個空目錄下輸入 git init 2.新增,恢復 2.1 新增乙個新檔案到快取區 git add readme.txt 表示把檔案readme.txt新增到緩衝區 2.2 清空本地所有修改 git reset hard 3.正式提交 git commit m 新增了 readme ...
git知識小總結
1 刪除不需要的分支 git branch d branch name 有時不能生效則使用 git branch d branch name 2 gitk 可以通過圖形介面檢視版本歷史 3 修改最新提交的commit message git commit amend 4 修改歷史提交的commit ...