Git命令學習筆記
Git 初始化
git config 命令, Git配置文件采用的是INI文件格式,git config用於讀取和更改INI配置文件的內容 git config [ ] name value git config [ ] --unset name
初始化姓名和郵件地址
git config --system user.name "li song"
git config --system user.email
[email protected]
別名設置
設置:git config --system alias.ci commit
刪除:git config --unset --system alias.ci
命令輸出開啟顏色顯示
git config --global color.ui true
--global 和 --system 表示配置的位置。--global代表用戶主目錄下配置,--system代表系統級配置文件,如果不加表示版本庫級別配置文件。
暫存區相關操作
文件.git/index實際上就是一個包含文件索引的目錄樹,就是一個虛擬的工作區。這個虛擬工作區的目錄樹中,記錄了文件名和文件的狀態信息。文件的內容保存在Git對象庫.git/objects目錄中。
git add
表示把指定文件的內容寫入到對象庫中的一個新的對象中,然後更新目錄樹,記錄到暫存區文件索引中。
git commit
表示把暫存區的目錄樹寫到版本庫中,master得到更新,讓其指向新的目錄樹(即原來暫存區的目錄樹)。
git reset
git reset HEAD 表示把暫存區目錄數替換成master指向的目錄樹,工作區不受到影響。
git checkout 說明:
git checkout [ ] [--] ...
表示用commit指向的目錄樹替換暫存區以及工作區,commit省略則相當於從暫存區檢出
例:
git checkout -- <file> 用暫存區的file替換工作區的
git checkout . 用暫存區所有文件替換工作區
git checkout HEAD <file> 表示用master指向的目錄樹文件替換暫存區以及工作區文件
git checkout [<bracnch>]
例:
git checkout branch 更新HEAD指向到branch分支,用branch指向的目錄樹更新暫存區和工作區
git checkout 匯總顯示工作區、暫存區與HEAD的差異.
git checkout -b <new_branch> <start_point>
相當於 git branch <branchname>
git checkout <branchname>
創建和切換到新的分支,新的分支從start_point指向的提交開始創建
git diff
git diff - 工作區比較暫存區 git diff --cached - 暫存區比較HEAD git diff HEAD - 工作區比較HEAD
Git對象
git cat-file -p sha1值 查看sha1對象內容
遠程版本庫
git checkout -b <new_branch> <remote-branch> 從遠程分支中創建本地分支,自動建立跟蹤。
git remote add <remotename> <url> 注冊遠程版本庫
git remote -v 查看已經注冊的遠程版本庫
git push 命令解釋:
1. 如果為當前分支設置了<remote>, 則等於git push <remote>
2. 沒有設置<remote>,等於 git push origin
3. 如果在遠程版本庫中創建分支,執行 git push <remote> <new_breanch>