#Git學習 ##1.Git基本命令 git branch 查看本地分支git
git branch -r查看遠程分支學習
git checkout -b backend_1_39_0_base 建立本地分支指針
git branch —set-upstream-to=origin/backend_1_39_0_base 與遠程分支創建聯繫對象
git status 獲取本地分支狀態it
git pull 拉取遠程倉庫ast
git add . 提交到暫存區stream
git commit -m "lalalal"提交到本地倉庫object
git push 提交到遠程倉庫file
git reset --hard commit_id 轉換到某次commit方法
git log 能夠查看提交歷史,以便肯定要回退到哪一個版本
git reflog 查看命令歷史,以便肯定要回到將來的哪一個版本
git diff #是工做區(work dict)和暫存區(stage)的比較
git diff --cached 是暫存區(stage)和分支(master)的比較
git checkout -- file 能夠丟棄工做區的修改(file是文件名)
命令git checkout -- readme.txt意思就是,把readme.txt文件在工做區的修改所有撤銷,這裏有兩種狀況:
一種是readme.txt自修改後尚未被放到暫存區,如今,撤銷修改就回到和版本庫如出一轍的狀態;
一種是readme.txt已經添加到暫存區後,又做了修改,如今,撤銷修改就回到添加到暫存區後的狀態。
總之,就是讓這個文件回到最近一次git commit或git add時的狀態。
git checkout <name> 切換分支
git merge <name> 合併某分支到當前分支
##2.Git對象模型 每一個對象(object) 包括三個部分:類型,大小和內容。大小就是指內容的大小,內容取決於對象的類型,有四種類型的對象:"blob"、"tree"、 "commit" 和"tag"。
每一個目錄都建立了 tree對象 (包括根目錄), 每一個文件都建立了一個對應的 blob對象 . 最後有一個 commit對象 來指向根tree對象(root of trees), 這樣咱們就能夠追蹤項目每一項提交內容
##3.工做區和暫存區
工做區:電腦能看到的目錄
版本庫(Repository)
工做區有一個隱藏目錄.git,這個不算工做區,而是Git的版本庫。
Git的版本庫裏存了不少東西,其中最重要的就是稱爲stage(或者叫index)的暫存區,還有Git爲咱們自動建立的第一個分支master,以及指向master的一個指針叫HEAD。
把文件往Git版本庫裏添加的時候,是分兩步執行的:
第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區;
第二步是用git commit提交更改,實際上就是把暫存區的全部內容提交到當前分支。