# git筆記 git有一個名為分支的功能,可以藉由輸入$ git switch 分支的名字,來創造一個分支。 所謂的分支其實就是一種標籤,我自己的看法是,他像是一支發光的火把。 分支的功能就是插在commit上面,替這個commit做記號 在你所在的分支會有*或是一個圓型的記號,這個就是HEAD,HEAD代表著你現在所在的commit,也就是你所在的版本的位置。 想要把兩個有分支的commit合在一起,創出新的commit有兩種方法,分別式merge和rebase。 ```$ git merge``` 想融合的分支 隱藏主詞current branch,會融在現在head所在的分支 如果有衝突,修正好後commit就好 ```$ git rebase``` 想融合的分支 rebase 更像是在嫁接,把你所在的分支切下來,接在你想融合的分支後面 git有一個很棒的規則,那就是commit不會被刪掉,除非你用上非常特殊的手段,在此就不談了。 基本上我們平常用的刪除手段並不是刪除,而是把那段commit上的分支退回前面的commit。 失去了分支的那段commit,就像黑暗的小路一樣,失去了分支這個“火把”帶來的光亮,隱藏了起來讓你看不到。他只是看不到,但commit本身還存在。 在git的刪除並不是真正意義的刪除,而是移動,移動分支後,沒有分支的commit就會被隱藏。 移動的指令為$ git reset 想移動的位置 ```git reset HEAD~2 ``` #我想要回到HEAD的前2個狀態 ```git reset HEAD/^ --hard ```#我想要回到HEAD的前1個狀態 如果想找被“刪掉”的commit,可以輸入 $ git reflog 尋找HEAD待過的commit紀錄找到commit的編號 ```$ git reset commit的編號 ``` 這樣就能回到“刪掉”的commit
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up