Git

Git Config in MacOS/Windows/Ubuntu

在MacOS/Windows/Ubuntu下,Git的配置

Posted by Kylin on April 25, 2019

Git Config in MacOS/Windows/Ubuntu

下载Git

  • MacOS/Windows 用户均可以在 Git官网 下载安装.

  • Linux 用户可以通过在 Terminal 的以下指令安装:

sudo apt-get install git git-core git-gui git-doc git-svn git-cvs gitweb gitk git-email git-daemon-run git-el git-arch

若 Ubuntu 先前已经配置了 Git 环境, 可以通过 Git 命令查看

之后在对 Git 操作的过程中,Linux/MacOS 可以继续使用 Terminal做工具, 但是 Windows 需使用 Git Bash (Git 安装时附带).

注册 GitHub 账号

尽量选择常用邮箱,之后有关添加SSH Key以及网页部署会有邮件提示

拥有教育邮箱尽量使用教育邮箱注册(或之后设置为第二邮箱),可以申请免费的 PRO 权限,之前可以免费创建私有库(现在好像全用户免费了),不过总之有 Jetbrains 用。

检查SSH

ssh -T git@github.com

连接成功输出

Warning: Permanently added ‘github.com,204.232.175.90’ (RSA) to the list of known hosts. 
Permission denied (publickey).

配置SSH keys

在 .ssh 文件路径下创建 id_rsa (私钥)和 id_rsa.pub(公钥)

  • 进入存放目录
cd ~/.ssh
  • 查看目录下文件,若为空则无返回或者返回(Ubuntu下)
known_hosts
  • 若已经存在 id_rsaid_rsa.pub 文件,最好进行如下操作备份:
mkdir key_backup
cp id_rsa* key_backup
rm id_rsa* 

之后 id_rsaid_rsa.pub 文件就会被备份在 /.ssh/key_backup 目录下.

  • .ssh 目录下执行以下命令创建 id_rsaid_rsa.pub 文件:
ssh-keygen -t rsa -C "Youremail@email.com"

Youremail@email.com 替换为你的 GitHub 账号注册邮箱

此时再执行 ls 命令,即可以看到两个文件被创建了。

  • 添加 ssh keys 到 GitHub 中:

查看id_rsa.pub的内容:

Windows:

type id_rsa.pub

MacOS:

vim id_rsa.pub

Linux:

sudo gedit id_rsa.pub

之后复制文件到全部内容,写入 网页端Github -> Settings -> SSH Keys -> Add SSH Key, 注意无换行和空格。

  • 在~/.ssh目录下检查 SSH keys 配置
ssh -T git@github.com

如果看到如下返回,则表示添加成功:

Hi "Yourusername"! You’ve successfully authenticated, but GitHub does not provide shell access.

Yourusername 显示的是你的用户名

  • 若出现以下报错
sign_and_send_pubkey: signing failed: agent refused operation

则执行以下命令

eval "$(ssh-agent -s)"
ssh-add

本地Git配置

  • 利用自己的用户名和email地址配置git
git config --global user.name "user.name"
git config --global user.email "user.email"

user.name替换为GitHub用户名,user.email替换为GitHub注册邮箱

推送本地内容到github上新建远程仓库

  • 在 GitHub 上建立 rep,在本地建立储存文件夹(同级目录)

进入文件夹,进行git初始化

git init
  • 对仓库进行任意更改
touch new.py

该步骤创建了一个名为 new.py 的 python 文件

  • 更改提交
git add new.py
git commit -m 'first change'
  • 关联远程仓库
git remote add origin https://github.com/username/yourrepname.git

remote 地址可以在你的仓库页面上寻找 Github 提供 SSH连接 以及 HTTPS连接, 建议使用 SSH连接, 可以省去每次push\pull 输入用户名密码的不必要麻烦,并且在网页端查看该SSH端的提交历史记录

  • pull 操作 ( 防止出现 error:failed to push som refs to…… 报错 )
git pull origin master
  • push 操作
git push origin master

推送本地内容到github上已有远程仓库

  • clone仓库到本地(上级目录)
git clone https://github.com/你的github用户名/github仓库名.git

HTTPS 克隆方式

此时默认添加了git remote,且协议类型与clone类型一致,查看:

git remote -v

若要重新添加,如从HTTP切换至SSH,则删除remote:

git remote remove origin
  • 进入仓库进行任意更改
touch new.py

该步骤创建了一个名为 new.py 的 python 文件

  • 更改提交
git add new.py
git commit -m 'first change'
  • 关联远程仓库
git remote add origin https://github.com/username/yourrepname.git

remote 地址可以在你的仓库页面上寻找 Github 提供 SSH连接 以及 HTTPS连接, 建议使用 SSH连接, 可以省去每次push\pull 输入用户名密码的不必要麻烦,并且在网页端查看该SSH端的提交历史记录

  • pull 操作 ( 防止出现 error:failed to push som refs to…… 报错 )
git pull origin master
  • push 操作
git push origin master

配置更改

对一些非预估情况对处理:

  • 查看当前remote:
git remote -v
  • 更改 SSH 与 HTTPS 远程方式需要重新配置remote:
git remote rm origin