GitHub使用入门

本教程将介绍GitHub项目的创建以及Git Bash的使用(Windows环境)。在本文中链接了许多GitHub官方的帮助文档,文档描述了很多细节,仔细阅读很有帮助。

预备工作

说明:Git Bash(基于MINGW) 是Windows下进行Git操作的Shell。

创建SSH Key

使用Git Bash进行命令行操作,首先要拥有一份ssh key进行身份验证。详细信息参见:Connecting to GitHub with SSH

  1. 验证是否存在ssh keys

ls -al ~/.ssh

默认情况下生成的ssh key放置于“C:\Users\UserName”下的.ssh文件夹中,该命令列出该文件夹下包含的文件。常见的ssh密钥文件可能是以下文件之一:

  • id_dsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub
  • id_rsa.pub
  1. 创建新的ssh key
    如果不存在ssh密钥,则新建一个:

ssh-keygen -t rsa -b 4096 -C “your_email@example.com”

your_email@example.com替换成你的Github邮箱地址。随后会让你键入想要保存的ssh key的文件名

Enter a file in which to save the key

这里注意,建议不输入任何文件名,直接回车,这样就使用系统默认的设置。那么在“C:\Users\UserName”文件夹下就会创建.ssh文件夹,文件夹中生成“id_rsa”和“id_rsa.pub”两个文件,分别对应私钥和公钥。

随后复制“id_rsa.pub”的内容到GitHub网站的Settings–>SSH and GPG keys中:
在这里插入图片描述
设置title(任意),并将“id_rsa.pub”的内容复制到“Key”之中。

  1. 测试SSH Key是否配置成功:

ssh -T git@github.com

第一次测试,在continue的时候,选择“yes”,即可显示成功认证。

特别说明:如果你在上述创建SSH Key文件的时候键入新的文件名,则需要将新文件挂靠到ssh-agent上,否则会出现“git@github.com: Permission denied (publickey)”的错误。

详细的操作参见:Generating a new SSH key and adding it to the ssh-agent

配置GitHub的用户名和邮箱

使用Git Bash配置本地使用Git的全局设置。

配置用户名

git config --global user.name “your name”

"your name"替换成你的GitHub用户名。

配置邮箱

git config --global user.email “email@example.com”

这里"email@example.com"替换成你的GitHub邮箱。

创建GitHub项目并在本地进行同步

访问GitHub网站并新建代码仓库

GitHub可以很方便地创建新的代码仓库“New Repository”:
在这里插入图片描述
填写仓库的名称“Repository name”,添加描述“Description”,还可以添加README(此处先不添加,后续采用命令行操作),以及添加忽略文件和开源协议。

创建本地代码仓库

首先在本地规划好一处文件夹用于同步GitHub的项目,然后打开Git Bash,定位到此次你想要同步的GitHub项目的文件夹,使用“cd”命令。

接下来将在此文件夹添加刚才创建的GitHub的项目。

  1. 初始化本地文件夹作为一个Git仓库:

git init

  1. 拷贝GitHub网站中的项目网址:
    在这里插入图片描述
  2. 添加远程代码仓库的URL:

git remote add origin remote_repository_URL

remote_repository_URL替换为刚才拷贝的项目的URL。说明,origin指代远程代码仓库(GitHub中),master表示本地的主分支。验证一下添加是否成功:

git remote -v

  1. 首先从远程代码仓库拉取数据

git pull origin master

  1. 新建README文档,README文档是每个GitHub项目必备,说明项目内容。上文没有创建,在此处完成。

touch README.md

  1. 添加文件夹中的所有文件:

git add .

  1. 提交文件:

git commit -m “First commit”

注意commit只在本地提交,并未同步到远程服务器。

  1. 推送本地更新至远程服务器:

git push -u origin master

注意:这里第4步,首先从GitHub拉取数据,很多教程上忽略这个步骤。这样容易导致出现本地版本和远程版本冲突的困境。详见错误Updates were rejected because the tip of your current branch is behind

其他说明

GitHub官方提供了GUI的工具GitHub Desktop,可以比较方便操作Git,有兴趣的同学可以参考相关文档。我个人认为还是命令行方便,确保对所有细节的把握,在实际应用中更好的控制代码版本。 此外Git协议相关的内容还很多,本文只是阐述如何开始一个Github项目,更多内容可以参考相关详细资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值