git 分支改名
本地改名:git branch -m <老的分支名> <新的分支名>
远程分支改名,只能先删除,再远程创建新的分支。
远程分支删除: git push --delete origin <老的分支>
git 回退代码
强制回退,删commit, 工作区,暂存区,本地仓库
git reset --hard <回退到的hash code>
回退,删commit, 但会保留工作目录的内容,并把因为保留工作目录内容所带来的新的文件差异放进暂存区
git reset --soft <回退到的hash code>
reset 如果不加参数,那么默认使用 --mixed 参数。
保留工作目录,并且清空暂存区。也就是说,工作目录的修改、暂存区的内容以及由 reset 所导致的新的文件差异,都会被放进工作目录。简而言之,就是「把所有差异都混合(mixed)放在工作目录中」。
git reset --mixed <回退到的hash code>
git 删除分支
远程:
git push -d origin 分支名
本地:
git branch -D 分支名
git stash
git stash -m '暂存'命令暂存工作区代码
git stash list显示所有暂存的历史记录
git stash apply 0恢复暂存区的代码(0代表列表序号为0的那一条,如下图)
git stash drop 0(0也是序号)清除指定的某一次暂存
git stash clear清空暂存区的代码
git stash pop 恢复暂存区的最后一条代码块,并清除它
git stash中内容被删除,或者commit的内容被删除,找回的方案
git中把commit删了后,并不是真正的删除,而是变成了悬空对象(dangling commit)
git commit误删恢复:
git fsck --lost-found 找出刚才删除的分支里面的提交对象
git show 2e43cd56ee4fb08664cd843cd32836b54fbf594a git show命令查看一个找到的对象的内容
git merge 2e43cd56ee4fb08664cd843cd32836b54fbf594a
通过git重新merge这个commit。解决冲突,代码就回来了。
git的存储记录
git stash类似于创建了分支,将内容存在了git栈中。
git commit将内容存入了本地仓库中
git中合并两个无关仓库
–allow-unrelated-histories
A仓库和B仓库无关,但是需要合并
合并B仓库到A仓库中。
// A仓库添加B仓库
git remote add online_b git@github.com:fantasy/online_a.git
// 从B仓库拉取
git pull online_b
// 将B仓库抓去的master分支作为新分支checkout到本地,新分支名设定为online_repo1
git checkout -b online_repo1 online-b/master
// 基于A仓库的master创建分支demo
git checkout demo
// 将online_repo1合并到demo,checkout到demo分支
git merge --allow-unrelated-histories online_repo1
// 合并完冲突之后,在demo分支提交代码,合并到origin/master 分支上,
// 然后删除online_repo1分支和demo分支,remote里面删除B仓库online_b,
// 最后checkout 到master分支,重新 git pull 一下即可。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦