git的一些学习记录
目录
警告
本文最后更新于 2024-12-08,文中内容可能已过时。
1 Git 操作
- git远程与本地的操作
- git重新设置远程仓库地址
git remote rm origin git remote add origin 你的新远程仓库地址 - git删除远程分支
git push origin --delete Chapater6 - git 建立本地分支与远程分支的关联
git branch –set-upstream 本地新建分支名 origin/远程分支名 - git重命名分支
git branch -m old new - git拉取远程分支
- git重新设置远程仓库地址
- git放弃本地修改
- 未使用git add缓存代码
git checkout -- filepathname ## 放弃指定文件的缓存 git checkout . ## 放弃所有的文件修改 - 已经使用git add缓存代码
git reset HEAD filepathname ## 放弃指定文件的缓存 git reset HEAD . ## 放弃所有的文件修改 - 已经用 git commit提交代码
git reset --hard HEAD^ ## 回到上一次commit的状态
- 未使用git add缓存代码
- git使用远程仓库代码覆盖本地代码
第一个是:拉取所有更新,不同步; 第二个是:本地代码同步线上最新版本(会覆盖本地所有与远程仓库上同名的文件); 第三个是:再更新一次(其实也可以不用,第二步命令做过了其实)
git fetch --all git reset --hard origin/master git pull
2 git rebase
3 git cherry-pick
git cherry-pick可以将一个或多个已经存在的提交应用到其他分支。这个命令会创建一个新的提交,其效果等同于被cherry-pick的提交。
有以下三个使用场景:
将bug修复应用到其他分支:在开发分支上修复了一个bug,并创建了一个包含修复的提交。然后需要将修复应用到生产分支,但是不想应用开发分支上的其他提交。从一个废弃的分支获取有用的提交:将废弃分支上的有用提交应用到其他分支。撤消某次提交:使用git cherry-pick配合-n参数来撤消某次提交。
3.1 具体的例子
以bug修复到其他分支为例子。现在有master分支和dev分支。在dev分支上修复了一个bug,哈希值是abc123。想将这个bug修复应用到master分支,但是不想将dev分支上的其他提交合并到master分支中。
- 首先确保工作目录是干净的,可以用
git status检查工作目录状态。 - 切换到master分支
git checkout master
- 使用
git cherry-pick将abc123应用到master分支。
git cherry-pick abc123
- 如果没有冲突,
abc123提交被master分支。如果有冲突,git会停止cherry-pick并高速哪些文件有冲突,手动解决冲突后继续进行cherry-pick操作获取取消操作。
git cherry-pick --continue
## 或者取消
git cherry-pick --abort
4 git配置文件
4.1 一个电脑中使用多个git身份
来自这里
通过~/.gitconfig配置文件来管理
