这是我参与更文挑战的第5天,活动详情查看: 更文挑战
记录自己用到的一些git命令以及错误处理,不定期更新。
功能
查看分支
git branch 查看所有本地分支
git branch -r 查看所有远程分支
git branch -a 查看所有本地分支和远程分支
删除远程分支
方式一:
git push origin --delete branchName
方式二:
git branch -r -d origin/branchName
git push origin :branchName
修改远程分支名
git branch -m oldName newName 先修改本地分支名称
git push --delete origin oldname 删除旧名称的远程分支
git push origin newName
git branch --set-upstream-to origin/newName 将修改后的本地分支与远程分支关联
用远程分支强制覆盖本地分支
git fetch --all
git reset --hard origin/branchName
找回删除的本地分支
git log -g 找到删除记录的commitId
git branch branchName commitId
在远程删除分支后,本地git branch -a 仍然能看到的解决方法
git remote show origin 查看remote地址,远程分支与本地分支的对应关系
git remote prune 移除掉远程已经删除的分支
删除本地tag
git tag -d tagName
删除远程tag
git push origin :refs/tags/tagName
本地项目关联远程git库
git init 将当前目录初始化为git库
git add .
git commit -m 'xxxx'
git remote add origin remoteGitURL(远程仓库地址)
git pull origin/master --allow-unrelated-histories
git push origin master 或 git push -u origin master
保存当前分支工作区内容,切换到另一个分支不携带当前分支修改
git stash 或 git stash save '暂存'
git checkout anotherBranch
后续操作完再切回原来分支
git branch curBranch
git stash pop
删除保存的存储进度
git stash list 查看存储的所有保存进度的列表
删除stashId对应的存储进度,不指定stashId则默认删除最新存储进度
git stash drop [stashId]
删除所有暂存进度
git stash clear
修改commit语句
git commit --amend
进入vi编辑器,修改完注释,退出vi编辑。
撤销commit
git reset --soft HEAD^
该命令只是撤回commit操作,修改后的代码仍然存在。
合并多笔commit提交
git rebase -i HEAD~5 合并最近5笔提交
自动进入vi编辑器。
或者:
git rebase -i [commitId]
自动进入vi编辑器
rebase过程中发生冲突
git status 查看冲突
代码中解决冲突
git add .
git rebase --continue rebase继续
报错处理
报错OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
git config --global --unset http.proxy