Git 學習筆記

Git 學習筆記
1. 創建版本庫
    git init 將當前目錄變爲Git可管理的倉庫

2. 版本庫操作
    git add readme.txt 將readme.txt文件添加到版本庫中,或者將修改過的文件添加到版本庫
    git commit -m "Wrote a readme file"

    1. commit後面的 -m 輸入的是本次提交的說明,說明修改的內容
    2. Git添加一個文件需要兩步,add,commit。
        即可以多次add,分多次添加多個文件。提交的話可以一次將之前所有的添加文件的動作都提交上。

    git status  用於查看當前的版本庫的狀態,那些文件被修改。

    git diff    查看相對於之前的文件,新修改了那些內容

    git log 查看一個版本庫的修改歷史
        --pretty=online 可以將修改信息  以每一條顯示一行信息的形式列出
        --graph   命令可以看到分支合併圖
        
git reset --hard HEAD^  將版本回退到上一次提交
        HEAD 表示當前版本,^表示向後推一個版本,那麼向後推兩個版本就是 HEAD^^
            回退100個版本怎麼辦?HEAD~100
            
        --hard  
        
    git reflog  用於顯示歷史的所有的修改版本號(commit id)以及對應的提交的修改 日誌
    
    git checkout -- readme.txt  丟棄工作區中的修改(注意是工作區,不是暫存區)
        注意這個命令讓文件恢復到了最近一次的git commit 或git add執行後的狀態
        
    git reset HEAD readme.txt   撤銷(unstage)掉暫存區中add 的修改
    
    git rm test.txt  從版本庫中刪除 test.txt文件,
        使用 git commit 提交刪除動作
        
        git checkout -- test.txt 用版本庫中的版本替換工作區中的版本。即恢復刪除
    
3. 遠程倉庫
    
    Git倉庫 和GitHub倉庫之間是通過SSH加密傳輸的,第一次需要設置SSH Key:
    ssh-keygen -t rsa -C "[email protected]"
    
    登錄GitHub,從Account settings中設置 SSH Keys。Add SSH Key,填寫Title粘貼本地生成的 id_rsa.pub文件內容
    
    每個SSH Key對應一臺電腦,多個電腦要各自生成 SSH Key,並添加到GitHub中。
    
    在github上建立版本倉庫後,可以將本地庫關聯到遠端的GitHub服務器上的版本倉庫。
    git remote add origin https://github.com/xiao0429/learngit.git  將本地版本庫關聯到遠端倉庫
    
    git push -u origin master  將本地庫的所有內容推送到遠程庫。第一次使用。
        -u 參數將本地庫與遠程庫 origin 關聯起來
        
    origin 是遠程庫的名字,Git默認的叫法,也可以改成別的名字。
    git push 命令將當前分支 master推送到遠程
    
    再次修改代碼,使用
    git push origin master 推送最新內容到遠程庫中
    
    git clone https://github.com/xiao0429/Practice.git  將遠端的庫克隆到本地
    
4. 分支管理
    git checkout -b dev     用於創建dev分支,並且還到dev分支
        -b 參數表示創建並切換分支
        git branch dev      創建dev分支
        git checkout dev    切換分支到dev
        
    git branch      查看所有分支,當前分支用* 標註
        切換分支後,在Bash中的目錄名 最後會給出分支名稱,比如 Administrator@guotao-D1 MINGW32 /d/GithubSource/learngit (dev)
    
        git branch -d dev   刪除dev分支
        git branch -D dev   強行刪除dev 分支
    
    git checkout dev        切換到dev分支,使用該命令實現多個分支之間切換
    
    git merge dev           合併指定分支到當前分支。注意是指定分支到當前分支。也即要切換到要合併“到”的分支
        合併後有衝突,則將文件重新編輯後,再次 add / commit 
        --no-ff  以普通方式合併,合併後可以從log中看到分支合併歷史
        而fast forward 合併無法從log歷史中看出合併過分支
        
    git stash  將當前的工作現場隱藏起來,等以後恢復後可以繼續使用
        執行該命令之後,git status 看到的當前分支應該是乾淨的
        
        git stash list  查看保存的歷史記錄,
        git stash apply 恢復現場
        git stash drop  刪除保存的一個stash 分支
        
        git stash pop   恢復工作區的同時,也將 stash的內容刪除
        git stash apply stash@{0}  用來恢復stash list中保存的第0個 stash
    
    git remote 查看遠程庫的分支信息
        git remote -v   查看遠程庫的詳細信息
        
    git push origin master 將當前的master分支推送到遠端origin 分支
        git push origin dev 將本地的dev分支推送到遠端origin 分支
        
    git branch 對於他人從遠程庫中,只能看到master分支,如果要開發dev分支,需要將遠程dev分支創建到本地
    
    git branch -b dev origin/dev  將遠程庫中origin庫中dev分支創建到本地
        此時如果衝突了,則 git pull 將遠程分支拉下來,合併,解決衝突,再推送遠程庫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章