1.日常使用
// 1.拉取但不合并代码
git fetch
// 2.合并代码
git merge 分支// 3.拉取并合并代码
git pull// 4.起一个别名origin 并拉取关联远程仓库主分支路径
git remote add origin xxx 路径// 5.创建一个分支名
git branch 分支名// 6.切换到该分支
git checkout 分支名// 7.创建和切换合并,创建本地分支并切换到该分支
git checkout -b 分支名// 8.删除本地分支
git branch -d 分支名// 9.删除远程分支
git push origin -d 分支名// 10.提交到仓库的某个分支,要先拉取拉该分支代码。远程没有该分支,则会增加一个远程分支
git push origin 分支名// 11.撤回n次commit,add的文件依然在缓存区
git reset --soft HEAD~n// 12.撤回n次commit并撤销add缓存态
git reset --mixed HEAD~n// 13.撤销了n次commit 和 add到缓存区,未add到缓存区的内容将被删除
git reset --hard HEAD~n// 14.恢复误删的本地分支
git checkout -b 分支名 HEAD@{n}// 15.命令获取到的内容为本地仓库所有发生过的变更
git reflog
2.拓展
1. rebase 变基
git rebase origin/develop :将该分支的历史提交内容,按提交次数合并至自己分支
用法:develop 为 远程源分支,self 为 当前开发了代码的分支,切换到self分支,git rebase origin/develop,冲突-则修改冲突,add,commit之后,继续执行变基操作,git rebase --continue // 继续变基
// 拓展的拓展:有时候变基提示更改commit合并信息,可以执行这些操作
// wq:表示保存退出
// wq!:表示强制保存退出
// x:表示保存退出
// 变基成功后,你就是基佬,呸,你的develop内容历史的提交就和你的分支内容一致啦
遇到了一个情况,执行变基之后,只会提示 is up to date! is up to date! is up to date!生气!
ok,遇到问题就解决问题,这个时候该怎么办呢
直接力大砖飞,git pull origin/develop ,把develop代码合并到开发分支下来,再回退到自己没拉develop 前的代码,此时就能变基了。emmm具体为什么没有深究,总之我就是想变基。想让git graph 变得直观一点,行吧,就这样做。
2. git commit --amend
git commit --amend
命令:也叫追加提交,它可以在不增加一个新的commit
的情况下,将新修改的代码追加到前一次的commit
中。使用该命令的好处,是避免许多无用的提交
- 如果自上次提交以来,你还未做任何修改(例如,在上次提交后马上执行了此命令),那么快照会保持不变(不产生新的
commit
),而修改的只是提交信息。 - 或者你提交后发现忘记了暂存某些需要的修改,可以将该文件添加到暂存区,然后在使用
git commit --amend
命令进行追加提交。