一、 本地已经存在的项目/分支与如何远程仓库关联
git remote add origin <your-repo-git-url>
二、 git代码提交了,发现有问题怎么撤回提交
git reset HEAD^ //撤消上一次的commit
git reset HEAD~2 //如果你进行了2次commit,想都撤回,可以使用.
如果想撤回某一次的提交:
1. git log //查看所有提交的版本
2. git reset --hard commitId //回退到指定版本的代码
撤回最近一次提交但保留更改
使用 --soft 选项,保留工作目录和暂存区的更改:
git reset --soft HEAD~1
撤回最近一次提交并取消暂存更改
使用 --mixed 选项(默认),保留工作目录的更改,但取消暂存:
git reset --mixed HEAD~1
三、 如果当前在a分支,但是pull了b分支,造成变基,怎么补救
方案a: 使用 git reflog 找回之前的提交历史。
- Git 的
reflog记录了所有分支的变更历史,
git reflog
输入示例:
abc1234 HEAD@{0}: pull origin b: Fast-forward
def5678 HEAD@{1}: commit: Your last commit on branch a
...
- 重置到误操作前的状态(例如
HEAD@{1}):
git reset --hard HEAD@{1}
方案b:强制回退到远程分支的状态
如果误操作后还没有推送到远程仓库,可以直接将本地分支重置为远程分支的状态。
操作步骤:
-
获取远程分支的最新状态:
git fetch origin -
将本地
a分支重置为远程a分支的状态:git reset --hard origin/a
四、提交到了错误的分支
解决方法:
- 切换到正确的分支:
git checkout <correct-branch>
- 将提交从错误分支移动到正确分支:
git cherry-pick <commit-hash>
- 删除错误分支上的提交:
git checkout <wrong-branch>
git reset --hard HEAD~1
五、合并分支时出现冲突
解决方法:
git status查看冲突文件。- 手动处理冲突文件。
- 暂存并合并代码
git add <file>
git commit
六、提交后发现漏掉了某些文件
解决方法:
- 添加漏掉的文件:
git add <file>
- 追加到上一次提交:
git commit --amend