下載 - 安裝
1.git是什麼;與svn的區別;在windows上如何安裝
2、操作
2.1、創建版本庫
git init
git add
git commit -m ''
git status
git diff
git pull 或 git pull origin master 獲取
2.2、版本回退
git reset --hard HEAD^; git reset --hard HEAD~100
git reflog 查看版本號
git reset --hard (30945da) ;版本回退到某一指定版本,這裏的 30945da 指的是具體版本號
git log 查看所有版本日誌
git log --pretty=oneline 查看所有版本日誌簡化信息
cat filename 查看文件內容(獲取的是暫存區和工作區的文件的內容,如果內容一樣,則不區分)
2.3、理解工作區與暫存區的區別
2.3.1、工作區:就是你在電腦上看到的目錄,比如目錄下testgit裏的文件(.git隱藏目錄版本庫除外)。
2.3.2、版本庫:工作區有一個隱藏目錄.git,這個不屬於工作區,這是版本庫。
git add 和 git commit 是把文件先添加到暫存區,再提交到版本庫分支上
2.4、Git撤銷修改和刪除文件操作
2.4.1、撤銷修改
git checkout -- filename
2.4.2、刪除文件
rm filename (只是從目錄中刪除、如果要從版本庫中刪除,需要再 git commit)
2.5、遠程倉庫
2.5.1、如何添加
git remote add origin https://github.com/tugenhua0707/testgit.git 關聯遠程倉庫
2.5.2、如何克隆
2.6、創建與合併分支
2.6.1、如何解決衝突
2.6.2、分支管理策略
2.7、bug分支
2.8、多人協作
2.8.1、推送分支
2.8.2、抓取分支
3、原理性問題
3.1、github上創建一個倉庫後,在本地任意一文件夾git init,然後 git remote add origin + 倉庫地址進行關聯,這時候直接git pull,或 git push 都要加 origin master,這是爲什麼?
你pull操作是要拉取某個分支的代碼,但是你本地沒有任何分支,所以需要指定源(主機名)和分支
3.2、什麼樣的情況下建立分支?
3.3、分支 branch
所謂分支(branch)就是指向某個快照的指針,分支名就是指針名。哈希值是無法記憶的,分支使得用戶可以爲快照起別名。而且,分支會自動更新,如果當前分支有新的快照,指針就會自動指向它。比如,master 分支就是有一個叫做 master 指針,它指向的快照就是 master 分支的當前快照。
Git 有一個特殊指針HEAD
, 總是指向當前分支的最近一次快照。另外,Git 還提供簡寫方式,HEAD^
指向 HEAD
的前一個快照(父節點),HEAD~6
則是HEAD
之前的第6個快照。
每一個分支指針都是一個文本文件,保存在.git/refs/heads/
目錄,該文件的內容就是它所指向的快照的二進制對象名(哈希值)。
https://blog.csdn.net/weixin_38317875/article/details/80925750