本教程将介绍GitHub项目的创建以及Git Bash的使用(Windows环境)。在本文中链接了许多GitHub官方的帮助文档,文档描述了很多细节,仔细阅读很有帮助。
说明:Git Bash(基于MINGW) 是Windows下进行Git操作的Shell。
使用Git Bash进行命令行操作,首先要拥有一份ssh key进行身份验证。详细信息参见:Connecting to GitHub with SSH。
ls -al ~/.ssh
默认情况下生成的ssh key放置于“C:\Users\UserName”下的.ssh文件夹中,该命令列出该文件夹下包含的文件。常见的ssh密钥文件可能是以下文件之一:
ssh-keygen -t rsa -b 4096 -C “[email protected]”
[email protected]替换成你的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”之中。
ssh -T [email protected]
第一次测试,在continue的时候,选择“yes”,即可显示成功认证。
特别说明:如果你在上述创建SSH Key文件的时候键入新的文件名,则需要将新文件挂靠到ssh-agent上,否则会出现“[email protected]: Permission denied (publickey)”的错误。
详细的操作参见:Generating a new SSH key and adding it to the ssh-agent
使用Git Bash配置本地使用Git的全局设置。
配置用户名
git config --global user.name “your name”
"your name"替换成你的GitHub用户名。
配置邮箱
git config --global user.email “[email protected]”
这里"[email protected]"替换成你的GitHub邮箱。
GitHub可以很方便地创建新的代码仓库“New Repository”:
填写仓库的名称“Repository name”,添加描述“Description”,还可以添加README(此处先不添加,后续采用命令行操作),以及添加忽略文件和开源协议。
首先在本地规划好一处文件夹用于同步GitHub的项目,然后打开Git Bash,定位到此次你想要同步的GitHub项目的文件夹,使用“cd”命令。
接下来将在此文件夹添加刚才创建的GitHub的项目。
git init
git remote add origin
remote_repository_URL
remote_repository_URL
替换为刚才拷贝的项目的URL。说明,origin指代远程代码仓库(GitHub中),master表示本地的主分支。验证一下添加是否成功:
git remote -v
git pull origin master
touch README.md
git add .
git commit -m “First commit”
注意commit只在本地提交,并未同步到远程服务器。
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项目,更多内容可以参考相关详细资料。