Git 經常使用操做和流程

基本操做

  • 初始化倉庫
git init
複製代碼
  • 關聯到遠程倉庫
git remote add origin <url>
複製代碼
  • 添加到版本庫
//添加所有
git add .
//添加具體文件
git add <文件名>
複製代碼
  • 添加到本地庫
git commit -m "提交描述信息"
複製代碼
  • 拉取併合並衝突
git pull origin master
複製代碼

git pull 能夠拆分爲git fetch 和 git mergeandroid

  • 提交本地庫到遠程庫
git push origin master
複製代碼
  • 克隆
git clone <url>
複製代碼
  • 設置用戶名和郵箱
//全局設置(全部項目通用)
git config --global user.name "**"
git config --global user.email "**"
//局部設置(不一樣項目不一樣)
git config user.name "**"
git config user.email "**"
複製代碼
  • 用戶名和密碼存儲
//全局配置
git config --global credential.helper store
//局部配置
git config credential.helper store

//設置cache時間爲1小時
git config credential.helper 'cache --timeout=3600'
複製代碼
  • 查看遠程服務器
//查看遠程服務信息
git remote
//查看遠程服務器詳細信息
git remote -v
複製代碼
  • 查看狀態
git rstatus
複製代碼
  • 查看日誌
git log
複製代碼
  • 版本回退
//回退多少就幾個^
git reset --hard HEAD^ 或 git reset --hard HEAD~10
複製代碼
  • 分支查看/建立/切換/合併
//查看本地分支
git branch
//查看全部分支
git branch -a
//建立分支
git branch dev
//切換分支
git checkout dev
//–b參數表示建立並切換
git checkout -b dev
//刪除分支
git branch -d dev
//刪除遠程dev分支,危險命令
git push origin :dev 
//合併dev分支到當前所在分支
git merge dev
//本地建立和遠程分支對應的分支
git checkout -b branch-name origin/branch-name
//本地分支和遠程分支的關聯
git branch --set-upstream branch-name origin/branch-name
複製代碼

具體需求

  • 建立倉庫
//一步操做 也能夠拆分紅兩步
git init <文件夾名> && cd <文件夾名>
touch README.md
git add READEME.md
git commit -m "init"
git remote add origin https:gitee.com/....
//第一次推送master分支,加–u參數,推送到遠端並關聯master
git push -u origin master
複製代碼
  • 僅拉取倉庫某個文件夾
git init
git remote add origin <倉庫地址>
git config core.sparsecheckout true
//echo 是所拉取文件路徑
echo project/android >> .git/info/sparse-checkout  //注意路徑符號 /
git pull origin master
複製代碼
  • 遠端倉庫新建分支:
方法1:
git checkout -b dev
git branch --set-upstream-to = origin/dev //創建本地到上游(遠端)倉的連接 --這樣代碼才能提交上去
git branch --set-upstream debug origin/debug //其中debug爲建立的分支
git push origin dev

git branch --unset-upstream master //取消對master的跟蹤 按需使用

方法2:
git branch -b stage2
git push origin 本地分支名:遠端分支名xx  // 在服務器新建新分支名xxx

 
對比:
git branch -b stag2
git push origin stage2:refs/for/stage2 // 代碼入庫命令,不會新建新分支在遠端
複製代碼
  • 衝突解決流程
git merge dev
...產生衝突
git status
...查看狀態
//<<<<<<<,=======,>>>>>>>標記不一樣分支內容,其中<<<HEAD 是主分支修改的內容,>>>>>dev 是dev上修改的內容
git add <文件>
git commit -m "***"
複製代碼
  • bug fix流程
//假定目前在dev分支
//儲藏當前工做,用於後續恢復
git stash
//建立bugfix分支
git checkout -b bugfix
//完成修改並提交
git add .
git commit -m "bugfix"
//切換至master分支完成合並後刪除bugfix
git checkout master
git merge bugfix
git branch -d bugfix
//切換至dev分支恢復開發
git branch dev
//查看狀態和暫存內容
git status
git stash list
//恢復隱藏工做
git stash pop
複製代碼
  • 合併遠程分支
//切換至須要合併分支
git checkout dev-branch
//本地開拉取開發分支
git pull origin dev-branch
//切換至master分支
git checkout master
//本地開拉取master分支
git pull origin master
//合併分支
git merge dev-branch
//推送到遠程倉庫
git push origin master
//根據須要刪除本地分支
git branch -d dev-branch
//根據須要刪除遠程開發分支 謹慎操做
git push origin :dev-branch
複製代碼
相關文章
相關標籤/搜索