git那些事


github返回801

image
这可能是你的电脑上没有安装git导致的,尝试安装git后再试。

修改某次commit的注释

  • git rebase -i HEAD~2 最后的数字2指的是显示到倒数第几次 比如这个输入的2就会显示倒数的两次注释(最上面两行) 根据提示,在你想要修改的注释前,将pick改为edit
    image
  • git commit --amend 修改注释
  • git rebase --continue 回到最新的HEAD

其实这个原理我的理解就是先版本回退到你想修改的某次版本,然后修改当前的commit注释,然后再回到本地最新的版本
原文:https://www.jianshu.com/p/098d85a58bf1

删除远端某次提交历史

  • git reset --hard <commit_hash>
  • git push origin <xx_branch> -f

使用 rebase 和 merge 的基本原则:(待测试)

下游分支更新上游分支内容的时候使用 rebase上游分支合并下游分支内容的时候使用 merge更新当前分支的内容时一定要使用 --rebase 参数

例如现有上游分支 master,基于 master 分支拉出来一个开发分支 dev,在 dev 上开发了一段时间后要把 master 分支提交的新内容更新到 dev 分支,此时切换到 dev 分支,使用 git rebase master
等 dev 分支开发完成了之后,要合并到上游分支 master 上的时候,切换到 master 分支,使用 git merge dev

配置完公钥后,拉取代码提示输入密码,解决方案

系统: ubuntu
重新执行 ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 命令, 当他提示你输入密码时(俗称 "盐"), 你一定要输入密码,然后, 更换公钥,重新克隆.

拉取项目的子模块

方法一: 克隆主Git时带上 --recursive 参数
git clone --recursive xxx.git
方法二: 如果项目已经克隆到了本地,执行下面的步骤
git submodule init # 初始化本地子模块配置文件
git submodule update # 更新项目,抓取子模块内容。

其他操作

  • 回退到指定commit版本。
    git reset --hard xx;
  • 删除远程的某个提交(确保还没其他人提交之前,进行强制回滚)
    git reset --hard HEAD~2
    git push -f

同步远程分支

git fetch --all  #同步提交历史
git reset --hard origin/master (这里master要修改为对应的分支名)  # 将本地的指针指向,跟远程的指针同步。
git pull origin  branch_name  # 拉取远程分支

cherry-pick

git checout master
git cherry-pick <otherBranch_commitHash>  # 将其他分支的 commitHash 记录添加到 master 分支

git cherry-pick [<options>] <commit-ish>...
常用options:
    --quit                退出当前的chery-pick序列
    --continue            继续当前的chery-pick序列
    --abort               取消当前的chery-pick序列,恢复当前分支
    -n, --no-commit       不自动提交
    -e, --edit            编辑提交信息
原文链接:https://blog.csdn.net/fightfightfight/article/details/81039050

git rebase

用于把一个分支的修改合并到当前分支
git rebase origin 同步远程分支内容到当前分支。
如果有冲突,会提示你解决冲突,你解决完后,执行

git add 文件索引   # 更新文件索引
git rebase --continue  # 继续执行合并操作。

在任何时候,可以用--abort参数来终止rebase的操作,并且当前分支会回到rebase开始前的状态。

原文链接:https://www.yiibai.com/git/git_rebase.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM