lightwight tag
git tag <tag name> <commit sha1>
anotated tag
git tag <tag name> <commit sha1> -a -m "message"
其中-a 表示為anotated tag
- Annotated tags are meant for release while lightweight tags are meant for private or temporary object labels.
有附註標籤主要用來做像是軟體版號之類的用途,而輕量標籤則是用來個人使用或是暫時標記用途。簡單的說,有附註標籤的好處就是有更多關於這張標籤的資訊,例如是誰在什麼時候貼這張標籤,以及為什麼要貼這張標籤。所以如果你不是很在乎這些資訊,用一般的輕量標籤也是沒什麼問題。 - 不管是哪種標籤,跟分支一樣都是以檔案方式存在 .git/refs/tags 目錄下
- 不管是哪一種標籤,刪除都一樣是 git tag -d <tag name>
git cherry-pick <commit1> <commit2> ...
檢想要的commit過來,可以多個也可以只一個,並且過來後直接merge進去(如果沒有衝突的話)。
想要不直接merge,而是先在staged狀態,則用--no-commit 參數
https://gitbook.tw/chapters/faq/cherry-pick.html
git revert <commit>
Revert 的指令是「再做一個新的 Commit,來取消你不要的 Commit」的概念。
常加上 --no-edit 參數,表示不編輯 Commit 訊息
實務說明為什麼要用rebase
https://ithelp.ithome.com.tw/m/articles/10225867
這樣做出來的小耳朵才是真正git flow的運應吧!
先git pull --rebase
再git merge --no-ff
git rebase 後再git merge就會是一條線
https://www.slideshare.net/WillHuangTW/git-merge-rebase
git rebase -i
interactive mode
https://dotblogs.com.tw/wasichris/2016/05/04/re
what is metadata
Metadata常見的解釋為「data about data」,直譯成中文為「有關資料的資料」或「描述資料的資料」。 國內學者針對Metadata一詞,有不同譯名,吳政叡教授稱為「元資料」,陳雪華教授的「詮釋資料」,陳昭珍教授的「超資料」,我國國家數位典藏計畫的「後設資料」。
git revert <commit>
Revert 的指令是「再做一個新的 Commit,來取消你不要的 Commit」的概念。
常加上 --no-edit 參數,表示不編輯 Commit 訊息
實務說明為什麼要用rebase
https://ithelp.ithome.com.tw/m/articles/10225867
這樣做出來的小耳朵才是真正git flow的運應吧!
先git pull --rebase
再git merge --no-ff
git rebase 後再git merge就會是一條線
$ git checkout dev
$ git rebase -i master
$ git checkout master
$ git merge dev
或是用--no-ff 有小耳朵(不過在以下情境則必定會有:需要長久開發的功能,我會在 remote 開 feature branch。回來的時候 master 應該已有別人的 commits,所以我的使用情境大概不會用到。)$ git checkout dev
$ git rebase -i master
$ git checkout master
$ git merge dev --no-ff
這篇很棒~https://www.slideshare.net/WillHuangTW/git-merge-rebase
git rebase -i
interactive mode
https://dotblogs.com.tw/wasichris/2016/05/04/re
what is metadata
Metadata常見的解釋為「data about data」,直譯成中文為「有關資料的資料」或「描述資料的資料」。 國內學者針對Metadata一詞,有不同譯名,吳政叡教授稱為「元資料」,陳雪華教授的「詮釋資料」,陳昭珍教授的「超資料」,我國國家數位典藏計畫的「後設資料」。
沒有留言:
張貼留言