Git 基礎知識及部分原理

2021-10-06 11:51:42 字數 2218 閱讀 5474

工作區:就是你在電腦上看到的目錄,比如目錄下testgit裡的檔案(.git隱藏目錄版本庫除外)。

版本庫:工作區有乙個隱藏目錄.git,這個不屬於工作區,這是版本庫。

git add 和 git commit 是把檔案先新增到暫存區,再提交到版本庫分支上

分支的增刪改查

git branch 建立分支

git branch -d 刪除分支

git branch -v 檢視所有分支

git branch next

git push origin --delete test 刪除遠端 test 分支

分支的切換:實際上,head在**,當前分支就是哪個

git checkout 原理:通過移動head檢出版本

git checkout 切換到該分支

git checkout -b 建立並切換到該分支

git checkout 將其引用到任何乙個物件上

git checkout - 切換到到上乙個分支

git checkout – filename 將檔案內容從暫存區複製到工作區

git checkout 《指標名》 把 head 切換到該指標上,但會造成 head 與 master 分離,造成 detached head 效果,此時不宜提交,因為 master 指標沒有回退,當 head 回到 master 上時,之前提交的**可能被**。這種操作一般只用來檢視**

分支的合併

git marge test 把 test 分支合併到當前分支

git marge next --no-ff 不使用 fast-forward

git rebase 修剪提交歷史的基線,即『變基』

git rebase master 在 master 分支上重演其他分支的所有指標資訊,並且合併進來產生新的指標

git rebase --onto master 《指標名》 在 master 分支上重演其他分支的最後一次指標資訊,並(同上)

注:git rebase 不可在非 master 分支上使用

分支檢視

git cat-file -p head 檢視當前分支和其父分支

git tag

git tag 建立別名

github上建立乙個倉庫後,在本地任意一資料夾git init,然後 git remote add origin + 倉庫位址進行關聯,這時候直接git pull,或 git push 都要加 origin master,這是為什麼?

你pull操作是要拉取某個分支的**,但是你本地沒有任何分支,所以需要指定源(主機名)和分支

什麼樣的情況下建立分支?

分支 branch

所謂分支(branch)就是指向某個快照的指標,分支名就是指標名。雜湊值是無法記憶的,分支使得使用者可以為快照起別名。而且,分支會自動更新,如果當前分支有新的快照,指標就會自動指向它。比如,master 分支就是有乙個叫做 master 指標,它指向的快照就是 master 分支的當前快照。

git 有乙個特殊指標head, 總是指向當前分支的最近一次快照。另外,git 還提供簡寫方式,head^指向 head的前乙個快照(父節點),head~6則是head之前的第6個快照。

每乙個分支指標都是乙個文字檔案,儲存在.git/refs/heads/目錄,該檔案的內容就是它所指向的快照的二進位制物件名(雜湊值)。

git pull 或 git push 時,當出現了驗證時,填錯了使用者名稱或密碼,該遠端將拒絕你的訪問,使用 git config --system --unset credential.helper,重置錯誤步驟,可重新來過。

git branch --set-upstream-to=origin/feat-les feat-les,把本地 feat-les 分支與遠端 feat-les 關聯

阮一峰 git 原理入門

阮一峰常用 git 命令

git與github建立倉庫連線步驟

DTU原理及基礎知識

現場採集點 現場採集點的使用者串列埠裝置 可以是各種儀表 plc 微控制器 pc等 通過rs232或rs485 rs422介面與gprs dtu終端相連,使用者串列埠裝置傳送的資料通過gprs dtu終端的內部嵌入式處理器對資料進行網路協議封裝後通過gprs無線網路傳送到資料中心。監控中心 a 公網...

DTU原理及基礎知識

現場採集點 現場採集點的使用者串列埠裝置 可以是各種儀表 plc 微控制器 pc等 通過rs232或rs485 rs422介面與gprs dtu終端相連,使用者串列埠裝置傳送的資料通過gprs dtu終端的內部嵌入式處理器對資料進行網路協議封裝後通過gprs無線網路傳送到資料中心。監控中心 a 公網...

Git 基礎知識

2019 february 16 git簡寫 狀態說明 備註?untracked 未跟蹤此檔案在資料夾中,但並沒有加入到git庫,不參與版本控制,通過git add 狀態變為staged mmunmodified 已入庫未修改 如果它被修改,而變為modified,如果使用git rm移出版本庫,則...