csucoderlee的专栏

某985软件工程专业毕业,混迹于互联网公司的搬砖工

git命令的奇技淫巧

1.git忽略规则,.gitignore不生效的解决办法


在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,在gitignore文件中定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached . 

git add .

git commit -m  "update .gitignore"


2.删除远程分支,并且及时清理本地分支

删除远程分支的命令: git push origin :feature_xxx, 就是在push的分支名字前面加 冒号。

而删除完远程分支之后,git branch -a还能看到远程有该分支, 这里可以输入 git fetch 及时更新查看的远程仓库的信息。

本地分支怎么做到及时清理?

办法有两个,我习惯的办法是,git branch -D xxxx(分支名字), 另外一种办法是, git remote prune origin , 这种方式我没仔细研究过。

?

3. 回滚代码
将代码提交到了远程的仓库,但是突然想把这几次的提交回滚到某个版本。
git reset --hard 某次提交的id,这个时候本地代码是会回滚到这个提交的阶段,然后
git push origin <分支名字>  -f,注意这里的-f,这个f参数可以让你强制提交远程代码,忽略落后于远程分支几次commit的情况
使用 git push origin <分支名字> -f ,这个有可能会返回permission 拒绝的错误, 原因是多数master分支都是被protected的状态,需要到代码托管平台,修改一下。
4. 删除本地除了master分支之外的其他分支
主要命令
git branch | grep -v "master" | xargs git branch -D

注意点 :
1.执行前需要切换到master分支执行
2.当前分支未做修改


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010372981/article/details/53992674
文章标签: git git命令 .gitignore
个人分类: Github
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

git命令的奇技淫巧

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭