git操作

创建分支

1
git branch 分支名称

创建并切换分支

1
git checkout -b 分支名称

删除分支

1
git branch -d 分支名称

合并分支

1
2
git checkout master
git merge 分支名称

git pull 强制覆盖本地代码

1
2
git reset --hard origin/<branch_name>
git fetch --all

强制覆盖当前分支

1
2
3
git checkout 当前分支
git merge -X theirs 目标分支
# 使用前记得备份当前分支

回退代码

1
git reset --hard HEAD^

撤销某次修改

1
git revert ~~commit no~~

撤销最新提交

1
git revert HEAD

删除远程分支

1
2
3
4
5
git push origin --delete <branch_name>

git push --delete origin <branch_name>

git push origin :<branch_name>

将另一个分支中的指定文件夹合并到当前分支

1
2
3
4
git checkout source-branch — path/to/folder

# source-branch是包含指定文件夹的分支的名称,
# path/to/folder是指定文件夹的路径

git stash 暂存区的使用

命令 说明
git add.、git stash 提交到暂存区
git stash 暂存工作区修改的内容:保存到暂存区(可以提N次)
git stash pop 恢复暂存的工作区内容:从暂存区取出(最近一次)
git stash list 查询工作区所有stash的列表
git stash apply stash@{2} 查询后,恢复第二次提交的
git stash clear 清空暂存区的所有stash
1
2
3
git stash
git pull origin XXXXX
git stash pop

问题汇总

  • `git@github.com: Permission denied (publickey).`

    重新注册或重新生成ssh密钥

  • push到github失败, 报repositories不存在

    将ssh改为https, 设置token