美文网首页
git控制台实用命令

git控制台实用命令

作者: 十二哥 | 来源:发表于2021-03-12 11:19 被阅读0次

标题:查看远程库信息

git remote
image
git remote -v
image




标题:git同步远程已删除的分支

  • 查看本地分支和远程分支情况
git branch -a
  • 查看本地分支对远程分支的追踪情况
git remote show origin 
  • 同步删除远程已被删除的分支
git remote prune origin 




标题:关联本地分支和远程分支

方式1

  1. 推送本地分支到远程服务器
git push origin {your_branch}
  1. 关联本地分支和远程分支
git branch --set-upstream-to=origin/{remote_branch}  {your_branch}

方式2

  1. 推送本地分支到远程服务器,并关联远程分支
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


相关文章

网友评论

      本文标题:git控制台实用命令

      本文链接:https://www.haomeiwen.com/subject/trtzqltx.html