阅读 336

git命令总结

git关联

删除文件夹 和git的关联

rm -rf .git
复制代码

然后关联远程或push出现了错误,如下:

fatal: Not a git repository (or any of the parent directories): .git 
复制代码

提示说没有.git这样一个目录
在命令行 输入 git init 然后回车就好了

git init
复制代码

修改远程仓库地址

推荐先删除后添加

  1. 删除远程仓库地址
git remote rm origin
复制代码
  1. 添加新的git仓库地址
git remote add origin 仓库地址
复制代码

解决代码库分叉问题

image.png

// 一般会选择分叉的前一个commitid
git rebase -i commitid
// 暴力提交需要管理员权限
git push --force
复制代码

image.png

添加 & 删除tag

查看所有tag

git tag -l
复制代码

添加tag

git tag -a tagName -m 'my tag'
git push origin --tags
复制代码

删除tag

git tag -d tagName
复制代码

清空所有commit记录方法

场景:将代码提交到git仓库,需要删除提交记录以彻底清除提交信息,得到一个干净的仓库且代码不变

  1. 建立无根分支(通过--orphan创建的'latest_branch'分支没有父分支)
git checkout --orphan latest_branch
复制代码
  1. 添加所有文件
git add -A
复制代码
  1. 提交更改
git commit -am 'commit message'
复制代码
  1. 删除分支
git branch -D master
复制代码
  1. 将当前分支重命名为master
git branch -m master
复制代码
  1. 强制更新代码库(需要管理员权限)
git push -f origin master
复制代码

分支管理

  1. 查看本地分支
git branch
复制代码
  1. 查看远程分支
git branch -a
复制代码
  1. 更新同步远程、本地分支
git remote update origin --prune
复制代码

Git配置多个SSH key

场景:有时候我们的代码需要托管到多个平台,需要为每个托管平台设置SSH-Key

打开git bash:

  1. 生成一个公司用的SSH-Key
    $ ssh-keygen -t rsa -C "email@company.com" -f ~/.ssh/id_rsa

  2. 生成一个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仓库上

    image.png

    配置公钥: 登录github或者其他代码托管平台。右上角你的账号登录个人信息,点击settings

    image.png

    点击SSH and GPG keys

    image.png

    image.png

    ssh-keygen -t rsa -C "email@github.com" -f ~/.ssh/github_rsa
    复制代码

    最后点击Add key 保存即可

  3. 添加私钥

    $ 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
    复制代码
  4. 测试

    $ ssh -T git@github.com
    复制代码
    1. 权限被拒绝

    image.png

    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
    复制代码
    1. 重新尝试

    身份验证通过

    image.png

文章分类
前端
文章标签