1. 生成一个新的 SSH key 并添加到 ssh-agent ,翻译自github help
步骤:
生成一个新的 SSH key
① 安装 Git ,打开 Git Bash;
② 输入以下命令,把 邮件地址修改为 自己绑定的邮件地址,该命令 创建了 一个 新的 SSH key ,按提示 ,直接 回车,使用默认地址和默认名称,密码设置为空
ssh-keygen -t rsa -b 4096 -C "[email protected]"
③ 拷贝 c 盘 用户下 .ssh 下的 id_rsa.pub 文件 中的内容到 gitlab | github 的 ssh key 中 保存即可。
④ 可以设置 config 文件中 的 用户名和 用户邮件.
git config --global user.name "xxx"//设置用户名 ,以后的每一次提交都会用该用户名
git config --global user.email [email protected] //设置用户邮件//
2. 同时管理 两个 SSH key
按照 1 中提到的步骤 再次生成 SSH key :
① 打开 Git Bash;
② 输入命令创建新的 SSH key,这里注意要 修改文件的名称,并且保存地址和第一个相同 ,这里比如为: /c/Users/用户名/.ssh/id_rsa_github ,密码仍然设置为空
③ 拷贝 c 盘 用户下 .ssh 下的 id_rsa_github.pub 文件 中的内容到 github 的 ssh key 中 保存。
④ 在 .ssh 目录下创建 config 文件(名称无后缀)
# gitlab
Host gitlab #名称随意
HostName 10.10.1.52 #服务器
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa #验证文件地址
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
[email protected]:ycit/hello.git #HostName 为 :github.com
[email protected]:service/ppp-service.git #HostName 为:101.103.12.52
ssh -T [email protected]
ssh -T [email protected]
如何将本地项目提交到远程仓库
① 登录到 GitHub | GitLab ,创建一个新的空仓库 ,仓库中不能包含其他文件(包括 readme | .gitignore | licence)
此时,该仓库会生成一个 指向该仓库 的地址 ,用户项目 clone or download,形如:
[email protected]:ycit/solution.git
②打开 Git Bash ,进入 到 项目根目录
③ 初始化 .git 文件
git init
补充 : 在提交之前 ,可能还需要添加 .gitignore 文件 ,用于保证 不想提交的文件不会提交到 公共仓库中,保证 仓库 整洁。
.gitignore 栗子(java + intellij idea + gradle)
bin
build
out
.gradle
.classpath
.project
.settings/
.idea
*.iml
*.ipr
*.iws
*.class
# Package Files #
*.jar
*.war
*.ear
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
使用 git rm 命令 :用于 从 暂存区域(index)中 或者是 工作目录(working tree) 和 暂存区域(index)中的文件移除
,执行以下命令
git rm -r --cached . # --cached 命令 仅仅移除 暂存区域的 文件
④ 新增文件添加到暂存区 (将 文件增加到 新的本地仓库 的 暂存区)
git add .
git commit -m "注释" # windows不能用 单引号
git remote add origin [email protected]:ycit/solution.git
补充:
git remote -v # 查看远程仓库
git remote add [-t ] [-m ] [-f] [--[no-]tags] [--mirror=] #设置新的远程仓库
git remote remove # 移除远程仓库
git remote rename
git push origin master