git 學習筆記

下載 - 安裝

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/目錄,該文件的內容就是它所指向的快照的二進制對象名(哈希值)。

阮一峯 git 原理入門

阮一峯常用 git 命令

https://blog.csdn.net/weixin_38317875/article/details/80925750

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章