侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

git flow

2023-12-12 星期二 / 0 评论 / 0 点赞 / 105 阅读 / 4123 字

新功能开发流程: 开始 feature 分支 git flow feature start name git flow feature publish name git flow feature pu

新功能开发流程:

开始 feature 分支
git flow feature start name

git flow feature publish name

git flow feature pull name

git flow feature finish name

发布到测试
git flow release start 1.0.0

git flow release publish 1.0.0 

git flow release track 1.0.0

git flow release finish 1.0.0

发生产
git pull origin develop

git push origin develop:develop

git checkout  master

git pull origin master

git push origin master --tags 

__________________________________________________________

文件忽略

//文件忽略 .gitignore

.gitignore会被提交到远程,并对所有用户有效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

//文件忽略 assume-unchanged
    git update-index --assume-unchanged PATH    在PATH处输入要忽略的文件。
    git update-index --no-assume-unchanged PATH 解除忽略

此方法对“已经被纳入了版本”的文件同样有效

这种方法只对本地有效,即本地修改文件不会被提交 但远程有更新会pull下来

这里的PATH貌似只能是文件不能是目录

当指定PATH为目录时:

如:git update-index --assume-unchanged ./

会提示:Ignoring path xxx/xxx/xxx

可以使用通配符(*),但是如果目录中含有子目录则会报错:

Unable to mark file xxx/xxx/xxx

解决办法:

利用 git ls-files 命令 和 管道符 | 忽略当前目录下所有文件:

git ls-files -z | xargs -0 git update-index --assume-unchanged

当然这样也只是将已有的文件纳入忽略,对新文件没有效果(需要再次执行该命令或结合下面的方法)

//文件忽略 .git/info/exclude

同样只对本地当前用户有效,可设置目录,设置方法和 .gitignore 相同

和 .gitignore一样只对未跟踪的文件有效

    
//更新 .gitignore
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
    更新 .gitignore 可以解决 “文件已经被纳入了版本”的情况
    
//提交忽略的文件
git add -f <path>
    

________________________________________________________________________
    
//查看一个文件的修改史
git log --pretty=oneline 文件名
1. git log filename
可以看到fileName相关的commit记录
2. git log -p filename
可以显示每次提交的diff
3. 只看某次提交中的某个文件变化,可以直接加上fileName
git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename

按q退出

 

________________________________________________________________________
//删除本地分支
git branch -d branch-name

//删除远程分支
git push origin :branch-name
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。


//放弃所有本地修改 包括已经commit还没push的  
git reset --hard origin/branch

 

__________________________________________________________________________

git clean 删除本地 untracked

// 删除 untracked files
git clean -f
 
// 连 untracked 的目录也一起删掉
git clean -fd
 
// 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd
 
// 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd

 

广告 广告

评论区