代碼管理-git和repo的基本命令

由於工作需要,接觸到git,剛開始的時候一頭霧水,碰到過許多錯誤和衝突,重拉過好多次完整項目(很費時),現在雖然大部分錯誤可以避免,但是還是還是會遇到不常見的情況,以後記錄下這些情況的解決方法以備不時之需。

先記錄 git 常用命令之我的理解

   git merge 用於合併分支到當前分支上 例如: git merge bai 把bai分支合併到現在我處於的分支上
                    合併分支時加上--no-ff參數則可以用普通模式合併分支,而默認方式fast forward模式合併分支
                    在刪除分支後,分支信息會被丟掉。
    git checkout -b <name> 創建並切換到某分支上

    git checkout -b <name>  remotes/origin/name 創建並切換到name分支並關聯到遠程的name分支

    git branch -d <name> 刪除某分支 -D 強行刪除某一沒被合併的分支

    git branch -a 查看本地和遠程的所有分支

    git  branch -vv 查看當前分支跟蹤是遠程哪個分支

    git push origin --delete remote_branch 刪除遠程分支

    git remote prune origin  用來刪除多餘的本地分支(遠程分支已經被刪除)

    git commit -m  " "  以雙引號裏的內容爲每次的提交信息提交修改(提交到本地的當前分支)

    git log 查看提交歷史(可以看到別人提交的log) 

    git reflog 查看本地命令歷史

    git log --graph 可以看到分支合併圖

    gitk 當前工作區狀態的圖形化展示

    git stash 隱藏工作現場 (感覺這個比較有用,當你還沒完成任務,而又需要切到其他分支時,這個命令派上用場)

    git stash apply/pop 恢復工作現場,兩者的區別是apply不會刪除保存的工作現場。

    git push origin <name> 把本地分支提交到遠程對應分支(這是本地分支已經和遠程分支做過關聯時可以這麼用,命令可以簡化爲git push )。

    git push origin  local_branch remote_branch    把本地分支提交到遠程對應分支(本地分支和遠程分支沒有做過關聯,並且遠程沒有該分支 )

    git tag v1.0 給當前分支打版本標籤。

    git reset --hard HEAD^      HEAD表示當前版本。HEAD~100 表示往前的第100個版本(hard會丟棄掉更改)

                  --soft (soft會保存你本地的修改,並回退到commit之前)

                  --mix (默認模式 修改也會保存,但是不會被標記成"Changes to be committed)

    git reset HEAD file 把暫存區的修改放回工作區。
    git checkout --file 丟棄掉工作區的修改.

    git rm 刪除遠程庫中的文件(在本地刪除過文件 要執行這個命令把對應遠程庫中的文件也刪除)

    git submodule update --init 初始化子倉庫

 

Repo 不是很理解,這裏先貼一下別人的博客的講解

repo init -u gitserver:manifest.git -m mainfest.xml  (同步repo管理的項目列表,並寫到mainfest.xml中)

repo sync 同步代碼(mainfest中記載的所有項目代碼)

repo start master -all (把所有模塊都歸爲當前master分支下)

repo branch 查看當前項目代碼所在的分支

repo abandon 分支名  刪除不用的本地分支

repo forall -c git status對所有項目執行一個git status命令

repo diff 顯示提交的代碼和當前工作目錄代碼之間的差異。

repo prune  刪除已經merge 的 project

repo status 顯示 project 的狀態

這裏以後貼一些遇到的錯誤以及解決方法.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章