git 常用指令

删除远程所有分支

删除远程文件

多人协作中经常有人将中间文件提交,他人提交之后如果需要删除的话可以这样操作:

git rm -r --cached *.iml        //*.iml 是需要删除的文件
git commit -m "ignore *.iml"    //"ignore *.iml"是提交的备注
git push 

该操作删除远程的文件,本地文件不受影响,但是别人pull代码之后本地的目录会被删除

再修改.gitignore文件将其忽略规则加上,别人就不会提交这个文件了。

gitignore文件规则,只能忽略未被添加到跟踪的文件,作用范围为当前目录的子目录

如果文件已经被跟踪,则忽略规则不生效;已经被跟踪的文件被删除后忽略规则会生效。

文件被跟踪后又被删除再被创建时如果满足忽略规则,则不会被跟踪。

重置远程分支

本地分支与远程分支不同步时,拉取所有分支:

git fetch	# 将远程所有分支拉取到本地,这时候使用
git checkout -b dev(本地分支名称) origin/dev(远程分支名称)

git stash恢复文件

参考文档https://www.cnblogs.com/exmyth/p/6213129.html

今天在提交脚本的时候不小心删除了数据,瞬间崩溃了

丢代码的过程:

git stash save "暂存文件"
git pull	# 下载最新的文件,下载很正常没提示错误
git stash apply stash@{0}	# 将暂存的文件还原回来
git stash drop stash@{0}	# 删除暂存的文件
git status # 检查文件状态

这时候提示没有任何提示,现在工作区是干净的,然后就没有然后了。我也不知道我改了哪些文件改了啥,人都懵了。

果断上网百度,发现有还原的方法,记录如下:

git fsck --lost-found	# 查看最近删除的提交,其中就有git stash drop stash@{0}时的ID
git show id		# 查看文件记录,id是git fsck指令查出来的ID,找到要还原的记录
git merge id	# 这样就可以将记录还原了。

打标签

git tag 在控制台打印出当前仓库的所有标签
git tag tagName commitId 对之前的commit打标签
git tag v1.0 对最后一次commit打标签
$ git tag -a v0.1 -m "version 0.1 released" 1094adb创建带有说明的标签,用-a指定标签名,-m指定说明文字:
git tag -l ‘v0.1.*’ 搜索符合模式的标签
git push origin [tagname] push单个tag
git push [origin] --tags push所有tag

git checkout tagName 根据标签名检出

创建独立分支

有时候我们需要在 Git 项目仓库里面创建一个空分支,该分支不继承任何提交,没有父节点,是一个干净的分支。

步骤:

  1. git checkout --orphan img 创建的分支会把原分支的内容拷贝过来
  2. git status 可以看到原来文件夹中的内容被拷贝过来了
  3. git rm -rf . 删除拷贝过来的原分支下的内容
  4. 正常编写文件
  5. git add . 暂存文件
  6. git commin -m "备注" 提交文件
  7. git push origin img 将分支推送到远程仓库
posted @ 2022-09-15 10:47  三点一圆  阅读(45)  评论(0编辑  收藏  举报