标题:查看远程库信息
git remote
image
git remote -v
image
标题:git同步远程已删除的分支
- 查看本地分支和远程分支情况
git branch -a
- 查看本地分支对远程分支的追踪情况
git remote show origin
- 同步删除远程已被删除的分支
git remote prune origin
标题:关联本地分支和远程分支
方式1
- 推送本地分支到远程服务器
git push origin {your_branch}
- 关联本地分支和远程分支
git branch --set-upstream-to=origin/{remote_branch} {your_branch}
方式2
- 推送本地分支到远程服务器,并关联远程分支
git push --set-upstream origin {your_branch}
说明:
方式1和方式2等效。
方式1的第二个步骤可以用来解决一些本地分支未与远程分支关联的问题。
标题:git修改分支名
- 将本地分支进行改名
git branch -m old_branch new_branch
- 将远程分支的老分支删除
git push origin :old_branch
注意:一定要加空格,在 origin 和 : 之间
- 将改名后的分支push到远程
git push --set-upstream origin new_branch
image
标题:删除本地多余的分支
- 删除指定名字的本地分支(本地操作,普通删除)
git branch -d branchName
- 删除指定名字的本地分支(本地操作,强制删除)
git branch -D branchName
- 删除指定名字的远程分支(远程操作)
git push origin --delete branchName
标题:git回到上一个commit点,并保留现有内容
git reset --soft 36741b64
image.png
标题:git移除已被git管理的文件
git rm -r --cached OpenSSL.iml
image
标题:列举所有还有冲突的文件
git diff --name-only --diff-filter=U
image
标题:submodule操作
- 逆初始化模块,其中{MOD_NAME}为模块目录,执行后可发现模块目录被清空
git submodule deinit -f {MOD_NAME}
image
- 删除.gitmodules中记录的模块信息(--cached选项清除.git/modules中的缓存)
git rm -r --cached {MOD_NAME}
此命令可以解决下面场景下的问题:
明明有多个子模块,但是合并了别的分支后,git submodule命令只显示部分submiddle。一般,git控制台上会提示一个信息,在.gitmodule中申明的某某某模块找不到。这时,用上边的命令清除掉该模块。再次git submodule,子模块就显示全了。
标题:git的log命令
- 查看详细的提交日志记录
git log
- 查看简化的提交日志记录(只有commit号和提交说明)
git log --pretty=oneline
- 查看详细的分支图
git log --graph
- 查看简化的分支图(只有commit号和提交说明)
git log --graph --pretty=oneline --abbrev-commit
标题:git强制更新远程内容,覆盖本地
- git强制覆盖
git fetch --all
git reset --hard origin/master
git pull
- git强制覆盖本地命令(单条执行):
git fetch --all && git reset --hard origin/master && git pull
image
标题:git标签
-
切换到指定标签
git checkout 标签名
- 共享标签
共享的意思就是把本地的内容推送到远程仓库,这样别人也可以得到你推送的内容,这就是所谓的共享。
共享单个标签
git push origin <tagname>
共享本地所有标签
git push origin --tags
- 删除标签
分为删除本地标签和删除远程标签两种操作
删除本地标签
git tag -d <tagname>
删除远程标签
git push origin :refs/tags/<tagname>
或者
git push origin --delete <tagname>
标题:git更换本地仓库关联的远程库地址
项目在服务器从一个组迁移到到了另一个组。本地并不知道这个事儿。需要把远程仓库地址重新手动关联到本地项目。
有两种操作可以达到此目的:
- 方法一:通过命令直接修改远程地址(推荐)
git remote set-url origin git@git.koal.com:androidgroup/lib-project/xxx.git
- 方法二:通过命令先删除再添加远程仓库(没试过,不知道会有什么后果)
git remote rm origin
git remote add origin git@git.koal.com:androidgroup/lib-project/xxx.git
合并其他分支的指定commit到当前分支
git cherry-pick 提交哈希值
说明:
提交哈希值 示例 7fcb3defff
网友评论