Git經常使用命令

Git經常使用命令

  • 新建倉庫並提交git

    # 初始化本地倉庫
    git init 
    # 關聯遠程倉庫
    git remote add origin git@vesync.com:cloudTeam/levi
    # 建立分支,切換分支
    git checkout -b feature-test
    # 添加文件, cd到要上傳的文件夾下, add . 是上傳全部文件
    # git add命令將要體檢的文件的信息添加到索引庫中,以準備爲下一
    # 次提交分段的內容
    git add .
    # git commit命令用於將更改的記錄提交到存儲庫,將索引的當前內
    # 容與描述信息一塊兒存儲在新的提交中
    git commit -m "commit"
    # git push命令用於將本地分支的更新推送到遠程分支
    git push origin feature-test

  • 刪除文件shell

    # 刪除遠程分支文件,不刪除本地文件
    git rm --cached thisfile
    git commit -m "delete this file"
    git push origin feature-test
    # 刪除遠程分支文件夾,不刪除本地
    git rm -r --cached thisfolder
    git commit -m "delete this folder"
    git push origin feature-test
  • git fetch服務器

    # git fetch命令用於從另外一個存儲庫下載對象和引用
    # 更新全部分支
    git fetch
    # 更新特定分支
    git fetch feature-test
    # 從遠程命名空間複製全部分支,並將其存儲到本地的
    # .git\refs\remotes\origin命名空間中
    git fetch origin
  • git pullide

    # git pull命令的做用是:取回遠程主機某個分支的更新,再與指定的
    # 本地分支合併,能夠理解爲 git fetch 後跟 
    # git merge FETCH_HEAD兩個操做的集合
    # 更準確的說是:git pull使用給定的參數運行git fetch,並調用
    # git merge將檢索到的分支頭合併到當前的分支中
    
    # 獲取遠程分支feature—test,與本地master分支合併
    git pull origin feature-test:master
    # 獲取遠程分支與當前分支合併
    git pull origin feature-test
  • Git修改分支名稱gitlab

    • 本地分支重命名(還未推送到遠端)
    git branch -m oldName newName
    • 遠程分支分支重命名
    1. 重命名遠程分支對應的本地分支
    git branch -m oldName newName
    1. 刪除遠程分支
    git push --delete origin oldName
    1. 上傳新命名的本地分支
    git push origin newName
    1. 把修改後的本地分支與遠程分支關聯
    git branch --set-upstream-to origin/newName
  • Git如何clone非master分支的代碼fetch

    # 先clone master分支
    git clone git@gitlab.xxx.com:xxxxx.git
    # 進入clone的文件夾,會看到當前的分支爲master
    # 查看全部分支
    git branch -a
    # 切換到須要clone的分支
    git checkout origin/dev-xxx
  • 誤刪除了遠程分支this

    # 想辦法找到最新一次的commit SHA值
    # SHA值能夠經過gitLab上的提交記錄查看,也能夠使用git reflog命令
    git branch branchName SHA
    # 而後再將此分支推送到遠端
    git push origin branchName
  • git pull出現衝突code

    # 保留剛纔本地修改的代碼,並把git服務器上的代碼pull到本地
    git stash
    git pull origin master
    git stash pop
    # 徹底覆蓋本地的代碼,只保留服務器端代碼,則直接回退到上一個版本
    git reset --hard
    git pull origin master
  • git pull後恢復到原來版本對象

    # git pull後發現不是想要的版本,須要回退
    # 查看本地分支的變更記錄
    git reflog loacal_branch
    # 利用commit id恢復到以前的位置
    git reset --hard <COMMIT_ID>
  • 報錯:Updates were rejected because the tip of your current branch is behind索引

    • 強制push,會使遠程修改丟失
    git push -u origin master -f
    • 不想merge遠程與本地,新建分支
    git branch newBranch
    git push -u origin newBranch
  • 撤銷commit

    #僅撤回commit操做,代碼依然保留
    #HEAD^指回退上一個版本
    git reset --soft HEAD^
    #若提交了2次commit,能夠使用HEAD~2
    #參數區別
    #不刪除工做空間改動代碼,撤銷commit,而且撤銷git add . 操做
    --mixed
    #不刪除工做空間改動代碼,撤銷commit,不撤銷git add . 
    --soft
    #刪除工做空間改動代碼,撤銷commit,撤銷git add . 
    --hard
  • 強制覆蓋本地代碼

    git reset --hard origin/dev
    git pull origin/dev
相關文章
相關標籤/搜索