git對於開始團隊項目開發是必不可少的,這裏對git的一些指令進行概括。git
獲取Git倉庫的命令:
git init:初始化一個Git倉庫
git init git_testgithub
git init --bare git_bare_test
生成一個裸的倉庫,它不帶.git文件,也就是不帶工做區。
git clone:日誌
git clgit clone https://github.com/shenghy/Scroll.git
克隆一個已有的倉庫,後邊能夠是URL也能夠是本地路徑。這個命令常常使用,在GitHub上看到別人好的開源項目,
均可以clone下來進行一番研究了。對象
Git流程操做命令
1/git add:主要用於把咱們要提交的文件信息添加到暫存區中。開發
git add -u 把全部tracked文件中被修改過或已刪除文件的信息添加到暫存區。它不會處理untracted的文件。文檔
git add -A 表示把全部tracked文件中被修改過或已刪除文件和全部untracted的文件信息添加到暫存區。it
git add -i 查看全部修改過或已刪除文件但沒有提交的文件。test
2/git commmit:把暫存區內容添加到版本倉庫中。file
git commit -m "提交的描述信息" 若是咱們這裏不用-m的參數的話,git將抵用Vim來讓咱們輸入提交信息。
git commit -a -m "提交的描述信息" 咱們一天可能更新了不少文檔,可是咱們忘記了它們的名字,此時咱們將所作的所有更新添加到版本庫中。im
3/git status:查看工做區、暫存區和版本庫的差別狀況。
4/git rm:在git中咱們能夠經過git rm命令把一個文件刪除,並把它從git的倉庫管理系統中移除。可是最後要執行git commit
才真正提交到git倉庫中。
Git rm -a
git commit -m "delete a file"
git rm --cached a 刪除暫存區中的文件
5/git mv:文件重命名或移動路徑時使用命令
Git mv a c 將文件a重命名爲c
6/gitignore:把不須要最終的文件添加到這文件中就能夠避免追蹤。
Git的本地分支與合併
1/git 本地建立分支
git branch test //新建test分支
git checkout -b test //新建test分支並轉移到該分支上
git branch 不帶參數,列出本地已存在的分支,並在當前分支面前加*標記
Git branch -r//列出遠程分支
git branch -a//列出本地分支和遠程分支
git branch - m|-M oldname newname 重命名分支,若是存在newname則用-M強制命名。
git branch -d -r branchname 刪除遠程branchname分支
git branch -d branchname 刪除分支-
2/git 給分支起別名打標籤
git tag v0.1.2 -light 建立輕量標籤 //建立輕量標籤不須要傳遞參數,直接定義標籤名稱
git tag -a v0.1.2 -m "0.1.2版本" //建立附註標籤時,參數a指定標籤類型。參數m指定標籤說明,說明信息
會保存在標籤對象中。
查看log日誌的命令
git log --oneline --decorate --graph --all 查看版本歷史示意圖
3/分支間切換
git checkout test //切換分支到test上
4/切換分支錢保存本地修改和暫存區的修改
git stash save -a "stash1"
git stash list //查看隱藏的內容
git stash pop --index stash@{0} 還原隱藏的東西,並刪除
git stash clear 清除完stash
5/本地分支合併
git merge branchName
6/使用命令返回不一樣版本
git reset --hard head^ 返回上一個版本
git reset --hard commit_id 返回commit_id的版本
git log 查看歷史版本
git reflog 查看歷史命令,能夠查看出commit_id
7/使用命令撤銷add先後更改
add 前 git checkout -- filename 讓這個文件回到最近一次git commit或git add時的狀態
add 後:git reset HEAD filename
git checkout -- filename
8/git pull --rebase 若是拉取不產生衝突,會直接 rebase,不會產生分支合併操做,若是有衝突則須要手動 fix 後,自行合併。