Git 配置多个 SSH-Key(来自码云)

背景

当有多个git账号时,比如:

a. 一个gitee,用于公司内部的工作开发;
b. 一个github,用于自己进行一些开发活动;

解决方法

  1. 生成一个公司用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa
  1. 生成一个github用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
  1. 在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)...
分类至 杂项
0条评论

Git 生成/添加 SSH 公钥(来自码云)

码云提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。

你可以按如下命令来生成 sshkey:

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  
# Generating public/private rsa key pair...

按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

...

分类至 杂项
0条评论

Git 中修改已提交的用户名/邮箱

1、执行一个 sh 文件

git filter-branch --env-filter '

OLD_EMAIL="旧邮箱"
CORRECT_NAME="新提交的名字"
CORRECT_EMAIL="新提交的邮箱"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

2、如果遇到权限问题则赋予权限,例如

Permission denied

#执行如下命令
chmod +x  XXXX.sh

3、如果遇到以下错误,修复它

Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f
 
#执行如下命令
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD

4、最后提交(慎重)

git push origin --force --all

 

分类至 杂项
0条评论

git-flow 的工作流程

当在团队开发中使用版本控制系统时,商定一个统一的工作流程是至关重要的。Git 的确可以在各个方面做很多事情,然而,如果在你的团队中还没有能形成一个特定有效的工作流程,那么混乱就将是不可避免的。

基本上你可以定义一个完全适合你自己项目的工作流程,或者使用一个别人定义好的。

在这章节中我们将一起学习一个当前非常流行的工作流程 git-flow。

分类至 杂项
0条评论