git关联
删除文件夹 和git的关联
rm -rf .git
然后关联远程或push出现了错误,如下:
fatal: Not a git repository (or any of the parent directories): .git
提示说没有.git这样一个目录
在命令行 输入 git init 然后回车就好了
git init
修改远程仓库地址
推荐先删除后添加
- 删除远程仓库地址
git remote rm origin
- 添加新的git仓库地址
git remote add origin 仓库地址
解决代码库分叉问题
// 一般会选择分叉的前一个commitid
git rebase commitid
// 暴力提交需要管理员权限
git push --force
添加 & 删除tag
查看所有tag
git tag -l
添加tag
git tag -a tagName -m 'my tag'
git push origin tagName
删除tag
git tag -d tagName
git push origin :refs/tags/tagName
清空所有commit记录方法
场景:将代码提交到git仓库,需要删除提交记录以彻底清除提交信息,得到一个干净的仓库且代码不变
- 建立无根分支(通过
--orphan创建的'latest_branch'分支没有父分支)
git checkout --orphan latest_branch
- 添加所有文件
git add -A
- 提交更改
git commit -am 'commit message'
- 删除分支
git branch -D master
- 将当前分支重命名为master
git branch -m master
- 强制更新代码库(需要管理员权限)
git push -f origin master
分支管理
- 查看本地分支
git branch
- 查看远程分支
git branch -a
- 更新同步远程、本地分支
git fetch origin --prune
git remote update origin --prune
git remote prune origin
Git配置多个SSH key
场景:有时候我们的代码需要托管到多个平台,需要为每个托管平台设置SSH-Key
打开git bash:
-
生成一个公司用的SSH-Key
$ ssh-keygen -t rsa -C "email@company.com" -f ~/.ssh/id_rsa -
生成一个github用的SSH-Key
$ ssh-keygen -t rsa -C "email@github.com" -f ~/.ssh/github_rsa
此时,.ssh目录下应该有4个文件:github_rsa,github_rsa.pub,id_rsa,id_rsa.pub,分别将他们的公钥文件(github_rsa.pub,id_rsa.pub)内容配置到对应的code仓库上配置公钥: 登录github或者其他代码托管平台。右上角你的账号登录个人信息,点击settings
点击SSH and GPG keys
ssh-keygen -t rsa -C "email@github.com" -f ~/.ssh/github_rsa最后点击Add key 保存即可
-
添加私钥
$ ssh-add ~/.ssh/id_rsa $ ssh-add ~/.ssh/github_rsa如果执行ssh-add时提示"Could not open a connection to your authentication agent" 可以先执行命令:
$ ssh-agent bash然后再重新运行ssh-add命令:
$ ssh-add ~/.ssh/id_rsa $ ssh-add ~/.ssh/github_rsa添加后我们可以通过 ssh-add -l 来确私钥列表
$ ssh-add -l删除私钥列表,可以通过 ssh-add -D 来清空私钥列表
$ ssh-add -D -
测试
$ ssh -T git@github.com- 权限被拒绝
ssh-keygen -t rsa -C "email@github.com" -f ~/.ssh/github_rsa ssh -v git@github.com ssh-agent -s ssh-add ~/.ssh/github_rsa ssh -T git@github.com- 重新尝试 身份验证通过
- 权限被拒绝