Skip to content

Latest commit

 

History

History
214 lines (136 loc) · 4.39 KB

cmd.md

File metadata and controls

214 lines (136 loc) · 4.39 KB

打标签

git tag -a v1.2.0 -m "new version"

显示标签以及备注,这个是按照tag的version的顺序排序,并非按照tag的时间顺序

git tag -n

实现标签以及备注,按照打标签的时间排序,这个应该是最可能使用的,反正我版本多了之后,就是用这个命令查看。

git tag -n --sort=taggerdate

–sort=key,关于key的值可以参考  https://git-scm.com/docs/git-for-each-ref 想看同时有时间、tag、tag备注的,可以使用如下命令

git for-each-ref --sort=taggerdate --format '%(refname:short) %(taggerdate:short) %(subject)'

可以对某个版本进行补打标签,commitId只要填入前7位即可

git tag -a v1.2 4e8223a

删除标签,并不会删除版本,只是删除标签而已。

git tag -d v1.2

alias

alias git-mm="git fetch origin master && git submodule update && git merge --no-edit origin/master && git push"

fileMode

git config core.fileMode false

获取最近更改的分支

git for-each-ref --sort=-committerdate refs/heads/

git for-each-ref --sort=committerdate refs/heads/

Or using git branch (since version 2.7.0)

git branch --sort=-committerdate  # DESC
git branch --sort=committerdate  # ASC

单独删除某个文件的所有历史记录

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch elasticsearch/dump.md' --prune-empty --tag-name-filter cat -- --all

Git warning of file overwriting due to (supposedly) untracked files

ll `git rebase develop 2>&1 | sed "s/^[^\t].*/ /g" `
rm `git rebase develop 2>&1 | sed "s/^[^\t].*/ /g" `

发版本压缩

git flow release finish -S

public

git flow release finish -p


回滚

git reflog


切换标签

git checkout tag_name

git checkout -b branch_name tag_name

删除没跟踪的文件

git clean -f

git clean -df
git remote -v                    # 查看远程服务器地址和仓库名称
git remote show origin           # 查看远程服务器仓库状态
git remote add origin git@github.com:username/robbin_site.git         # 添加远程仓库地址
git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址)
git remote rm <repository>       # 删除远程仓库

git branch

  • 分支重命名

git branch -m <oldname> <newname>


git rm

如下,我把src里的pyc文件全部移除,但是本地文件还保留。

//-r 包括子目录
//--cached 索引库中删除,并没有删除本机文件
git rm -r -n --cached  */src/\*      //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。

git rm -r --cached  *.pyc      //最终执行命令.

git add -A	//将添加所有改动的已跟踪文件和未跟踪文件。
git commit -m"移除pyc"    //提交

git push origin master   //提交到远程服务器

删除远程不存在的本地分支

git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d

git flow 删除feature分支

git branch -D feature/brand
#删除后start不成功原因应该是: git flow 存了某个配置
#可以通过git flow feature delete 删除, 但删除后start成功后的记录不是最新的,原因是:
git branch -a | grep brand
#发现本地分支虽然去了,但是远程分支还在
#通过git remote prune origin 删除本地分支不在,远程分支依然存在的分支

git gc --prune=now

tag回滚

git checkout v1.0

git checkout -b


#删除本地tag

git tag -d Remote_Systems_Operation

git push origin :refs/tags/Remote_Systems_Operation

#删除远程分支
git branch -r -d origin/branch-name
git push origin :branch-name

status乱码

git config --global core.quotepath false

cicd

  except:
    variables:
    - $CI_COMMIT_MESSAGE =~ /skip-docker-compose-test/

commit message 填写跳过compose