git和repository命令

 

git經常使用命令
 
git log         // 查看當前庫的git log信息
git status ./   // 查看當前庫的狀態
git diff ./     // 比較當前庫的修改狀況
git add ./      // 將當前庫的代碼修改提交到暫存區
git commit ./   // 將代碼提交到本地分支
git commit --amend ./   // 追加修改
git reset HEAD~1    // 將當前庫恢復到HEAD的上一個版本1234567
其餘命令
 
git config -l // 參看配置信息
git show HEAD^ // 查看HEAD的上一個版本信息
git show HEAD~4 // 查看HEAD的上溯4代的信息
git reset --hard HEAD^^ // 回退兩個版本
git reset --hard 8308f03 // 回退到指定的commitID前7位的版本
git clean -dfx //清除庫上沒有的東西
git remote -v //  參看遠程倉庫
git branch -a // 參看遠程分支
git log --oneline --decorate --graph --all // 圖像顯示git log信息
git log --pretty=format:"%h - %cd %s" --graph // 列出指定格式的log
git log -since="2 weeks ago" // 顯示2周前到如今全部的歷史記錄
遠程同步
# 下載遠程倉庫的全部變更
$ git fetch [remote]
# 顯示全部遠程倉庫
$ git remote -v
# 顯示某個遠程倉庫的信息
$ git remote show [remote]
# 增長一個新的遠程倉庫,並命名
$ git remote add [shortname] [url]
# 取回遠程倉庫的變化,並與本地分支合併
$ git pull [remote] [branch]
# 上傳本地指定分支到遠程倉庫
$ git push [remote] [branch]
# 強行推送當前分支到遠程倉庫,即便有衝突
$ git push [remote] --force
# 推送全部分支到遠程倉庫
$ git push [remote] --all
撤銷
 
# 恢復暫存區的指定文件到工做區
$ git checkout [file]
# 恢復某個commit的指定文件到暫存區和工做區
$ git checkout [commit] [file]
# 恢復暫存區的全部文件到工做區
$ git checkout .
# 重置暫存區的指定文件,與上一次commit保持一致,但工做區不變
$ git reset [file]
# 重置暫存區與工做區,與上一次commit保持一致
$ git reset --hard
# 重置當前分支的指針爲指定commit,同時重置暫存區,但工做區不變
$ git reset [commit]
# 重置當前分支的HEAD爲指定commit,同時重置暫存區和工做區,與指定commit一致
$ git reset --hard [commit]
# 重置當前HEAD爲指定commit,但保持暫存區和工做區不變
$ git reset --keep [commit]
# 新建一個commit,用來撤銷指定commit
# 後者的全部變化都將被前者抵消,而且應用到當前分支
$ git revert [commit]
# 暫時將未提交的變化移除,稍後再移入
$ git stash
$ git stash pop12345678910111213141516171819202122232425262728293031
 
repo經常使用命令
 
repo init -u URL -b ........ // 建立.repo
repo upload // 將代碼提交到gerrit.
repo abandon master // 放棄master分支
repo forall -c "git reset --hard HEAD" // 全部代碼執行git命令,回退到HEAD
// repo sync至關於git clone會把repository中的全部內容拷貝到本地,非首次運行repo sync至關於更新和合並.
// repo sync會更新.repo下面的文件,若是在merge的過程當中出現衝突,這須要手動運行git rebase --continue.
repo sync -c -j 4
repo start master --all // 建立新分支
相關文章
相關標籤/搜索