Git 使用技巧大全

Git

核心概念

Gitgit

git init
    git config --global user.name xxx
    git config --global user.email xx@qq.com  // (用戶信息.gitconfig)

git命令格式

  • 格式:git 命令 參數
  • 幫助
    • git --help: git 經常使用命令
    • git 命令:查看當前命令的使用
    • git 命令 --help:查看詳細的使用手冊
    • git config core.autocrlf false: 取消換行符轉換警告顯示

git的三區設計

  • 工做區:日誌文件的目錄
  • 暫存區:.git隱藏目錄
  • 本地庫:.git隱藏目錄,本地庫保存的是當前工做區中提交的修改

經常使用命令

  • git status: 查看git倉庫的狀態
  • git add 文件:將文件的修改提交到暫存區
  • git commit -m "xx" 文件:修改提交到本地倉庫github

  • git rm --cached 文件:從暫存區撤銷要提交的文件(第一次時撤銷)
  • git reset HEAD 文件:從暫存區撤銷要提交的修改app

  • git checkout -- 文件:從本地庫檢出文件eclipse

  • git log --oneline 查看本地庫狀態
  • git reset --hard HEAD^ 回退一個版本
  • git reset --hard HEAD~n 回退一個版本
  • git reflog:查看全部操做歷史記錄
    • git reset --hard 版本號: 回到(回退和前進都行)指定的版本

分支操做

  • 經常使用命令彙總
    • git branch [分支名] 建立分支
    • git branch -v 查看分支
    • git checkout [分支名] 切換分支
    • git merge [分支名] 合併分支
    • git branch -d [分支名] 刪除分支
    • git checkout -b [分支名] 新建並切換到當前分支
    • git log --oneline --graph

使用git fetch和git rebase處理多人開發同一分支的問題

  • 使用步驟:
    • git fetch
    • git rebase
    • 解決衝突
    • git add 衝突文件
    • git rebase –-continue
    • git push

參考文檔:Git rebase使用ssh

  • 不一樣分支之間的合併
    • master 分支
    • feature 分支
    git checkout feature
        編輯完內容後
        git add --all
        git commit -m "xxx"
    
        本地feature代碼合併到master
        git rebase master
        解決衝突
        git rebase --continue (先將master最新代碼合併到feature)
    
        git checkout master
        git merge feature
git remote -v
    origin  git@gitee.com:dchong/testgit.git (fetch)
    origin  git@gitee.com:dchong/testgit.git (push)

git stash

應用場景:測試

1.當正在dev分支上開發某個項目,這時項目中出現一個bug,須要緊急修復,可是正在開發的內容只是完成一半,還不想提交,這時能夠用git stash命令將修改的內容保存至堆棧區,而後順利切換到hotfix分支進行bug修復,修復完成後,再次切回到dev分支,從堆棧中恢復剛剛保存的內容。fetch

2.因爲疏忽,本應該在dev分支開發的內容,卻在master上進行了開發,須要從新切回到dev分支上進行開發,能夠用git stash將內容保存至堆棧中,切回到dev分支後,再次恢復內容便可。url

git stash命令的做用就是將目前還不想提交的可是已經修改的內容進行保存至堆棧中,後續能夠在某個分支上恢復出堆棧中的內容。git stash做用的範圍包括工做區和暫存區中的內容,也就是說沒有提交的內容都會保存至堆棧中。設計

  • 命令
git stash             將修改內容保存到堆棧中
    git stash save "xx"   等價於git save, 能夠添加文字描述
    git stash list        查看當前stash中的內容
    git stash pop         將當前stash中的內容彈出,並應用到當前分支對應的工做目錄上
    git stash apply       將堆棧中的內容應用到當前目錄,該命令不會將內容從堆棧中刪除。 git stash apply + stash名字(如stash@{1} -> git stash apply 0)指定恢復哪一個stash到當前的工做目錄
    git stash drop + 名稱  從堆棧中移除某個stash
    git stash clear        清除堆棧中的全部內容
    git stash show         查看堆棧中最新保存的stash和當前目錄的差別
    git stash branch        從最新的stash建立分支

GitHub

ssh -T git@github.com   測試本地倉庫和github的聯通性
    git remote add  <遠端代號>   <遠端地址>
        <遠端代號> 是指遠程連接的代號,通常直接用origin做代號,也能夠自定義
        <遠端地址> 默認遠程連接的url
        git remote add origin https://**

    git  push  -u  <遠端代號>    <本地分支名稱>
        <遠端代號> 是指遠程連接的代號;
        <分支名稱>  是指要提交的分支名字,好比master 

    git remote –v       查看遠程分支
    git pull <遠端代號>  <遠端分支名>       拉取遠程庫
        git pull origin  master
    git  clone   <遠端地址>                克隆項目

git總結

eclipse git

設置git帳號

設置git帳號

設置ssh密鑰

ssh密鑰

將本地項目推送到GitHub

本地建立項目後,右鍵選擇 Team — Share Project — git3d

share project

添加到暫存區team - add to index

提交到本地倉庫team - commit

推到遠程倉庫team - push

相關文章
相關標籤/搜索