常用git命令记录

345 阅读2分钟

这是我参与更文挑战的第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