git平常命令

git入門簡介

git基礎概念

git是目前最好的版本控制系統(沒有之一)git

branch

git裏面核心的內容是分支(branch),不一樣於svn的是,分支的成本很低,只記錄變化的文件。git官方是很是推薦是使用分支來開發,咱們在本身本地進行某些特性開發的時候,也是能夠開闢一個本地分支。操做方式分爲兩種服務器

  • 本身本地建一個分支,可選擇方式有兩種,本地寫好後本身merge到develop分支,刪除本地分支。----我的建議採用這種方式
  • 若是是業務特性,例如feature分支,可能對現有在develop上開發的其餘工程師形成影響,且有兩我的以上開發這個feature分支。或者須要爲某些特性單獨作一些特別的處理。這就須要推送到遠程分支上面去。 ----我的建議若是一我的開發的話,開新的本地分支是有效的操做方式 操做命令以下
    • git branch (name)
    • git checkout (name)
    • git checkout -b (name) 是上面兩個命令的合集
    • git merge <name> git有個概念是當前分支,若是用命令行的話能夠清晰的看到,這個merge的意思是在將<name>分支合併到當前分支上
    • git push origin (name) 推送到遠程分支
    • git branch -d (name) 刪除本地分支 git中一個遠程分支對應一個本地分支,名字能夠不同,不過建議最好保持一致。
    • git push origin :(name) 冒號前面是空的表明將一個空推送到遠程分支,便是刪除遠程分支
    • git push origin --delete (name) git1.7 以上支持這個方式 建議刪除時不要填寫master,develop等比較關鍵的分支

commit

git第二個概念是commit,提交記錄,每次提交都會產生一個sha1-hash值,Git倉庫中內容和頭信息(Header)的一個校驗和(checksum)。 主要使用來保證每次提交的完整性。ssh

git log logsvn

能夠看到每一個commit後都有一個加密的串。這個串能夠作一些回滾或者checkout的操做。---下面的這些操做建議少使用。工具

  • git reset --soft (id) 撤銷當前的提交,會保持當前的提交和之間的跨度提交,將代碼回退到id對應的版本。
  • git reset --hard (id) 撤銷當前的提交,將代碼硬回退到id對應的版本。
  • git reset . 撤銷當前本地的全部提交和修改。回退到你拉代碼時的版本。能夠從新get代碼
  • git reset –soft HEAD 回退一個版本
  • git reset –soft HEAD~3 向前回退三個版本
  • git reset –hard origin/master 回退到服務器最新

有時候可能須要撤銷當前的修改,作其餘的任務的時候,操做方式分爲三種。開發工具

  • 直接提交當前的提交加密

  • 暫存當前的提交url

    • git stash 暫存起來
    • git stash pop 拿出暫存區的內容 stash
    • git stash list 查看暫存區列表
  • 直接提交拋棄到這次的修改命令行

    • git checkout . 也能夠撤銷某個文件的修改 .替換成修改的文件,須要帶上路徑

stage(暫存區)

data

操做步驟以下:版本控制

  • git add . 增長索引 提交到暫存區
  • git commit -m 'message'提交到本地倉庫
  • git push origin (BranchName) 提交到遠程倉庫
  • git commit -a -m 'message'

上面三個步驟是將本地代碼提交到遠程服務器的基本操做。

git flow

git工做流程是以分支爲基礎的操做流程 flow

能夠看下項目裏面如今的分支規則

這個地方須要發佈代碼的遵循這個規則。如今基本是有(徐蕾)負責。

工做中git的使用

我通常遇到的問題和操做方式,感興趣的也能夠本身習慣一套本身的命令方式,不反對使用sourceTree和git tortoise等工具提交源碼,原則是保證代碼合併的時候不出問題。

  • 創建倉庫,推送代碼,建議使用ssh的方式,如今git支持http和ssh兩種方式。
    • git init
    • git add .
    • git commit -m 'message'
    • git remote add origin (git url)
    • git push origin master
    • git checkout -b develop
    • git push origin develop
    • git remote set-url origin (git url)
  • 拉取代碼,提交,推送代碼
    • git status
    • git add .
    • git commit -m 'message'
    • git pull --rebase
    • git push origin ()
  • 遇到衝突的時候
    • 先解決掉本地的衝突,建議使用開發工具解決
    • git rebase --continue | git merge -m 'message'
    • git add .
    • git push origin ()
  • stash(隱藏起來) 當你須要臨時修改其餘的bug,可是如今已經的修改又不能提交時,建議採用這個方式
    • git stash
    • git stash pop
    • git stash list
  • 建議多使用git的本地分支去輔助代碼開發
  • 建議每次提交時以一個單元去使用,意思就是一個獨立的單元生成一個提交,在繼續後面的開發。一次推送能夠推送多個單元的提交
  • 未完待續
相關文章
相關標籤/搜索