学习资料,图解git
https://marklodato.github.io/visual-git-guide/index-zh-cn.html#detached
1.从仓库中删除敏感数据
git中擦除单个文件的所有记录
只找到了 整个项目的 git reset hard 到指定 版本号,版本号之后所有的操作都将擦除,但是无法将单个文件进行 类似的操作
1.cd 你的项目
2.我要删掉记录的文件的路径是(相对于项目):
src/main/resources/config/application-test.yml
3.git filter-branch –force –index-filter
D:\MyJava\gulimall\gulimall-third-party\src\test\java\com\atguigu\gulimall\thirdparty\TestMMM.java
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch gulimall-third-party/src/test/java/com/atguigu/gulimall/thirdparty/TestMMM.java' --prune-empty --tag-name-filter cat -- --all
4.本地记录覆盖到Github,(所有branch以及所有tags)
git push origin --force --all
git push origin --force --tags
5.,强制解除对本地存储库中的所有对象的引用和垃圾收集
git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
git reflog expire --expire=now --all
git gc --prune=now
你会发现,GitHub上的记录都不见了
2.ssh免密登录github
1.查看ssh目录
$ ls -al ~/.ssh
total 24
drwxr-xr-x 1 Administrator 197121 0 8月 15 19:38 ./
drwxr-xr-x 1 Administrator 197121 0 8月 15 19:14 ../
-rw-r--r-- 1 Administrator 197121 3381 8月 15 19:36 id_rsa
-rw-r--r-- 1 Administrator 197121 742 8月 15 19:36 id_rsa.pub
-rw-r--r-- 1 Administrator 197121 802 8月 15 19:52 known_hosts
-如果有配过,会列出:
- id_rsa (私钥)——这个不能泄露
- id_rsa.pub(公钥)
-如果没有配过,那么就进入第二步
2.新建一个新的SSH KEY
ssh -keygen -t rsa -b 4096 -C "uestchan@sina.com"
接着会提示这个公钥私钥的保存路径-建议直接回车就好(默认目录里)
接着提示输入私钥密码passphrase - 如果不想使用私钥登录的话,私钥密码为空,直接回车
3.生成成功后,把 id_rsa.pub 拷贝到 github 新建的 SSH keys 中
4.验证是否成功
右键 -> Git Bash here 并输入指令
$ ssh -T git@github.com
Hi u19900101! You've successfully authenticated, but GitHub does not provide shell access.
bug: 此时仍然不能直接在之前clone的仓库进行免密提交,push后依然需要输入卡密,出入成功后还是提示 需要ssh 认证,尴尬
解决办法: 重新将仓库clone就可以了
3.解决出现 443
git config --global --unset http.proxy
git config --global --unset https.proxy
ps: 不是用代理,不知为啥就可以了
不用每次输密码
不用每次输密码
git config --global credential.helper store