Closed mrbone closed 6 years ago
[TOC] 一些git的小技巧
git checkout HEAD^ myFile
git commit --amend --no-edit
关于HEAD^
语法,参考 这里
感觉这个命令有点危险,myFile的改动直接被废弃了,目前还是比较倾向于rebase和reset --soft结合着用
当提交了一个错误的commit,git reflog
会列出所有之前的操作记录,我们只需要找出想要回到的SHA,然后执行
git reset SHA --hard
就可以干净的回到那个提交点了。
git fetch -p
当我们在一个分之开发之后切换回master不小心将之前的分之误删之后。
$(master) git branch -D branch-did-not-push
这个时候又要祭出 reflog
了。
$(master) git reflog
找出之前删除操作之前的 SHA
。
$(master) git checkout -b branch-did-not-push
$(branch-did-not-push) git reset SHA --hard
这样之前的分之就又找回来了。
git push origin :my-branch
或者
git push origin --delete my-branch
git branch -m new-name
git rebase -i @{u}
在当前 commit 新建一个 tag
git tag v1.0
新建一个 tag 并附加 message
git tag v1.1 -m "v1.1 release"
显示一个 tag 的 commit 信息
git show v1.1
在对应的 commit 处添加一个tag
git tag -a v1.2 commitSHA -m "some useful message"
推送一个tag
git push origin v1.1
删除本地tag
git tag -d v1.1
删除远程tag
git push <remote> :tag-name
git checkout commitSHA -- file1 file2
git-flight-rules