// 1.查看项目的远程源
git remove -v
//如果只显示自己的两个源(fetch, push)如下:
origin xxx (fetch)
origin xxx (push)
//2.则说明没有建立远程的repo源,需要添加主repo的源。
git remote add upstream xxx
//3.再查看远程源 是否添加成功。
git remove -v
//4.拉取主repo源代码
git fetch upstream
//5.合并主repo代码到本地代码
git merge upstream/branchName
// 如果后续出现 fatal: refusing to merge unrelated histories解决 问题,
// 可使用 git pull origin master --allow-unrelated-histories
// 从远程检出分支 并且本地新建对应新分支
git checkout -b 新分支名称 upstream/新分支名称
// 将 pull 下来的分支 push 到项目B 中去
git push origin 新分支名称
git commit --amend
// 此时会打开最近一次本地commit的信息,此时是以vi编辑器的形式打开。我们按下i建进入文本编辑模式,然后把想要修改的提交信息no message 改成 修改提交信息,然后 输入:wq来退出保存此次修改
// 此时我们已经修改完了本地的commit信息,然后就可以git push到远程仓库了.
git rebase -i HEAD~5,其中5是代表着修改倒数5次的commit
// 我们可以看到倒数五次的提交记录,我们按i进入编辑模式,然后在要修改的commit注释前面把对应的pick修改为edit,然后 按esc退出编辑模式,输入:wq保存并退出
git commit --amend
// 弹出对应的要修改信息,修改完后按esc退出编辑模式然后:wq保存退出:
git rebase --continue
// 最后一步我们强制push到远程服务器,执行:
git push --force branchName
使用命令 git log查看提交记录,并复制下想要回退到那个版本的commitId
git log
git reset --hard 刚刚复制的commitId
使用命令 git log查看提交记录,并复制下想要回退到那个版本的commitId
git log
git reset --hard 刚刚复制的commitId
强制提交到远程
git push origin branchName -f
先记录下当前commit的 id
切换到目标分支,执行命令
git cherry-pick commid_id