(四)Java工程化--Git基礎

來源:互聯網
上載者:User

標籤:led   規範   基礎   外部命令   tty   checkout   one   googl   目錄   

GIT學習參考:https://git-scm.com/book/zh/v2

常見命令
  • git init 初始化項目
  • git add *.java 添加檔案到git版本控制(.java尾碼的全部檔案)

    Git 有三種狀態, commited(已提交),modified(已修改),staged(已暫存);已提交表示資料已經安全的儲存在本機資料庫中。 已修改表示修改了檔案,但還沒儲存到資料庫中。 已暫存表示對一個已修改檔案的目前的版本做了標記,使之包含在下次提交的快照中。
    由此引入 Git 項目的三個工作區域的概念:Git 倉庫、工作目錄以及暫存地區。
  • git status -s 目前狀態,一般有進行下一步操作的提示資訊 -s輸出簡潔資訊
  • git commint -m ‘提交描述資訊‘ 提交到本地倉庫
  • git clone https://github.com/xuelingxiao/java-knowledge-structure knstuct 複製遠端倉庫並重新命名

      > GitHub 有一個十分詳細的針對數十種項目及語言的 .gitignore 檔案清單,你可以在 https://github.com/github/gitignore 找到它.
  • git diff 查看哪些修改了還沒有暫存;查看哪些修改暫存了準備下次提交;
  • git diff --cache 查看暫存區
  • git commit -a 跳過add,將追蹤檔案暫存並一起提交
  • git rm filename.txt 將檔案移除跟蹤狀態
  • git rm --cached filename 從暫存區移除檔案,將保留工作區檔案
  • git mv filefrom fileto 移動檔案
  • git log 查看提交曆史
  • git log -p -2 -p顯示每次提交的內容差異,-2顯示最近兩次提交,常用的還有git log --graph,git log --pretty=oneline[short,full,fuller,format],git log -Sfunctionname,git log --grep 關鍵字其他的請參閱協助
  • git commit --amend amend 將用來修複上次提交,例如上次提交如果忘記了某些檔案,可以使用此命令修複,git將會把amend的檔案與之前的檔案記錄為一次提交
  • git reset HEAD 檔案名稱.txt 取消暫存
  • git checkout -- 檔案名稱 撤銷對檔案的修改, 比較危險,因為本地的修改可能會被從遠端來的檔案覆蓋
  • git remote -v 查看配置的遠端倉庫資訊, -v顯示git儲存的簡寫和url
  • git remote add knstuct https://github.com/https://github.com/xuelingxiao/java-knowledge-structure 添加遠端倉庫配置
  • git fetch knstuct 擷取倉庫,即鏡像同步到本地
  • git pull knstuct 拉取遠端分支到本地,併合並,fetch不會合并
  • git push -f remote-name branch-name 推送到遠端, -f將復原版本(強制推送)
  • git remote show origin 查看一個遠端分支的更多資訊
  • git remote rename oldname newname 遠端分支重新命名
  • git remote rm branch-name 移除遠端分支
  • git tag 列出標籤
  • git tag -l ‘v1.8.5*‘ 只列出v1.8.5系列的標籤
  • git tag -a v1.1 -m ‘v1.1版本的標籤‘ 建立一個附註標籤(git標籤分兩類:輕量標籤和附註標籤,附註標籤儲存了git資料庫中的一個完整對象,可以被檢驗,包含了打標籤人的資訊)
  • git tag v1.2 -lw 打輕量標籤
  • git push origin v1.1 推送標籤到遠端,這樣可以共用標籤
  • git checkout -b brahchname tagname 檢出標籤,實際是將標籤版本檢出到工作區 -b只是第一次checkout使用
  • 別名設定, 參考樣本如下
$ git config --global alias.co checkout$ git config --global alias.br branch$ git config --global alias.ci commit$ git config --global alias.st status$ git config --global alias.unstage ‘reset HEAD --‘--上面命令運行後,下面兩條語句等價$ git unstage fileA$ git reset HEAD -- fileA--如果是外部命令, 可以在命令前加!$ git config --global alias.visual ‘!gitk‘
  • git merge branch master 合并分支
  • git rebase master 變基,掌握不住的話要少用
Git-Flow

規劃團隊如何使用git, 即使用git的一套規範; 可以參考google的gitflow.

git hooks

可以在CI使用, 自動發布,與jenkins整合.

通過本次學習我們基本就可以應對平時的需要了.作為工程化的一部分,git就先瞭解這麼多(後面如果有時間的話再整理下git的更多知識), 下一步將學習jenkins.

(四)Java工程化--Git基礎

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.