git笔记

217 阅读2分钟

git修改远程仓库地址命令: git remote set-url origin '新仓库url地址'

1、回滚不保留代码

  1. git reset --hard commitid 回滚本地的提交(新增文件丢失、删除的文件相当于没删)
  2. 一定要强推远程 git push origin 分支名 --force 强制推送,回滚远程的提交

2、回滚到之前某一版本但该版本后的提交仍需保留

  1. 首先使用git log命令查看版本号(commit后就是版本号)

  2. git revert -n 版本号回滚到之前版本

  3. git commit "备注信息" 提交

  4. git push 推送至远程仓库

3、git commit但未push 把修改撤销到工作区中

1)使用 git reset --soft HEAD^ 命令,撤销了commit 代码依然保留 2)一定要强推远程,不然会有问题 git push origin 分支名 --force

windows进入Interact交互界面的操作

  1. i 进入操作, 将第二、三个commit的pick改成s
  2. Esc 退出操作
  3. 输入:wq保存并退出
  4. git rebase --continue 之后 跳出交互界面 如果不需要处理 调成大写输入 zz就会继续。

gitrebase使用方法1(解决了合并的时候不带其他人的提交),其他分支合入develop操作步骤

  1. checkout-b develop (切入develop分支)
  2. git fetch origin develop (拉取develop远端的提交)
  3. checkout-b 自己分支名 (切入自己本地分支)
  4. git rebase develop (执行本地分支变基)
  5. rebase过程可能会有冲突,解决冲突之后执行git rebase --continue。
  6. 之后跳出交互界面 如果不需要处理 调成大写输入 zz就会继续。
  7. rebase成功之后,一定要强推远程,git push origin 分支名 --force
  8. 强推成功之后发起合并请求(此时就不会带着一大堆其他人的提交,合并了),如果是网页发起的合并请求,注意得执行网页上的“变基”按钮。(因为远端的代码 没有rebase,所以rebase完了之后,一定得强推一把到远程)

gitrebase使用方法2(多次提交合并成一个)

  1. 例:分支上有 a,b,c,d,e5个提交记录。需要合并这a,b,c,d4个提交成一个提交。
  2. git rebase -i e的commitId(注意:这里的commitId是需要在d的前一个的)。
  3. 之后跳出Interact交互界面,把pick改成s就会往上合并。
  4. 最后强推远程,git push origin 分支名 --force。之后a,b,c,d四个提交记录就变成一个了。