关闭

git命令的奇技淫巧

标签: gitgit命令.gitignore
330人阅读 评论(0) 收藏 举报
分类:

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的状态,需要到代码托管平台,修改一下。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:91980次
    • 积分:1839
    • 等级:
    • 排名:千里之外
    • 原创:93篇
    • 转载:8篇
    • 译文:1篇
    • 评论:10条
    最新评论