git和github的一些'操作'
删除文件
git rm
- git rm filename|-r name
在删除某个分支的某些文件或文件夹,使用这个命令似乎会作用到所有本地分支上(是我使用姿势不对?)
搞得我reset head ,checkout弄半天
但是git rm -r --cached filename 只作用于GitHub上的对本地没有影响
.gitignore 失效
其实这个文件里的规则对已经追踪的文件是没有效果的.所以我们需要使用rm命令清除一下相关的缓存内容
git rm -r --cached .
这样文件将以未追踪的形式出现
然后再重新添加提交一下, .gitignore文件里的规则才可以起作用.
git lfs
普通上传push就行了, 上传100m的大文件就需要它了
安装很简单就 git lfs install
之后就 要用git lfs track 来track你的文件 (自动生成.gitattributes文件,如果已经有了应该先删除)
之后就是正常的add commit push了
如果push失败了可以尝试多push几次 因为有时候网络原因也会失败
github和码云同步
参考葫芦胡
在.git里的config文件里remote里面 加一行url= 'github地址'
push:
push githubpath|githubname master就可以push到github上
push gitee|giteename master 就可以push到gitee上
其他同理
从gitee上clone下来push到github
git remote -v # 查看关联的remote
git remote rm origin 删除gitee关联的不删之间加GitHub的remote也行
git remote add name githubpath
git push --set-upstream name master
git reset
简单来用就是
本地回退到上一次commit
git reset --hard HEAD~
本地回退到指定commit
git reset --hard commitid
如果add了但是没有commit
git reset head 撤销add
如果已经push了
git reset --hard commmitid
git push --force
git 分支
参考
git checkout -b xxname|git branch xxname
新版本也支持用switch
git switch xxname 切换分支
git switch -c xxname 创建并切换分支
git checkout xxname
将本地分支推送到远程(远程也创建一个xxname的分支)
git push --set-upstream origin xxname
git branch -r 查看远程分支
git branch -a 列出所有分支
git branch -vv 列出分支的关联关系
git remote show origin 也可以看到详细信息
git branch -d 删除分支
git push origin --delete [branchname] 删除远程分支
如果分支没有关联远程分支 pull|push的时候会提示你关联 git push origin head:xxname
对于所有分支而言, 工作区和暂存区是公共的!!!所以不add和commit切换分支是可以看到更改文件的现在不commit不能切换分支...
git merge xxname 合并分支
如果存在冲突,进入提示的文件修改就行了
git diff
- 如果不带文件名,比较所有文件的修改
- git diff test.txt 将工作区的文件和暂存区的比较
- git diff [本地库中文件历史记录(指针)] [文件名] 将工作区中的文件和本地库历史记录比较
Github
cdn加速
普通的访问github源文件会很慢,这里推荐一个免费的cdn,jsdeliver (具体使用方法就是换个头,很简单)
但是有一点不方便
- jsdeliver是根据版本缓存来的,也就是说在GitHub上提交的更改,并不会实时被jsdeliver捕获到
一般一天左右刷新一次缓存,所以这就需要我们手动刷新了
手动刷新jsdeliver缓存的参考链接:https://blog.juanertu.com/archives/cbcd1946.html
//简单来说就这几个方法
// 总是引用最新版本
https://cdn.jsdelivr.net/gh/jquery/jquery@latest/dist/jquery.min.js
https://cdn.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js
//手动刷新缓存,有时候会需要等待
https://purge.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js