windows下Git与GitHub的安装及建仓基本操作


关于Git与GitHub的安装与使用网上的信息太多太杂乱,有很多都是不能用的,在经过了几天的摸索之后终于发现了正确的操作方法,特此记之。
本篇博客记录的是在windows下Git以及GitHub的安装及初始配置,不做Git和GitHub的使用教程,其他的平台大同小异。

1 安装Git(Git for Windows)

返回目录

1.1 准备安装文件

1.2 安装

返回目录

  1. 先安装NotePad++,如果不清楚安装过程中的设置选项的作用,所有的选项都默认即可。
    设置Notepad++默认编码
    安装完成后在设置->首选项->新建中设置新建文档的编码为UTF-8(无BOM)
  2. 再安装下载下来的Git(我的版本是:Git-2.20.1-64-bit.exe)。
    同样,如果不清楚安装过程中的设置选项的作用,选择默认安装即可。
    注意在下面这步选择**NotePad++**为默认编辑器。
    Git安装选择默认编辑器

1.3 查看安装结果

返回目录
如果安装成功,会在开始菜单的Git文件夹里面找到Git Bash,打开之后是这个样子:Git Bash
其中的两个命令

$ pwd  #查看当前目录
$ git --version  #查看Git版本

1.4 配置Git

返回目录
运行如下命令配置Git:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
#配置中用了 --global 参数表示这台机器上的所有Git仓库都会使用这个配置。
#进入到某一指定文件夹,用去掉--global参数的设置表示当前库用这个配置。

2 Git的简单使用

返回目录

2.1 建仓

在需要建仓的文件中单击右键->Git Bash Here;或者在开始菜单中找到Git Bash打开,然后用如下命令进行文件夹操作:

$ cd D:/07-TempFiles  #跳转目录(目录无空格)
#输入目录时可以只输入 07 然后按 TAB 键自动补全
$ cd "D:/07-Temp Files"  #跳转目录(目录带空格)
$ mkdir HelloGit  #新建目录
$ rm -rf HelloGit  #删除目录 -rf参数:删除嵌套目录
$ pwd  #查看当前所在目录
$ ls  #查看当前目录包含的文件(包括目录)
$ ls -ah  #查看当前目录的文件(包括隐藏文件)

跳转到指定目录后运行如下命令新建一个Git版本库:

$ git init  
#将当前目录初始化为Git可以管理的仓库
#用 $ ls -ah 命令可以看到目录下多了个.git文件夹
#这是Git用来管理版本库的,不要修改此目录,以免破坏仓库

Notepad++在当前文件夹下建一个HelloGit.txt文件,后用如下命令将其添加到Git版本库中:

$ git add HelloGit.txt
$ git commit -m "新建HelloGit.txt文档"

2.2 Git指令

返回目录
Git指令
图片来自https://www.git-tower.com/windows(侵删)

2.3 版本控制

返回目录
Git版本控制
图片来自https://www.git-tower.com/windows(侵删)

3 GitHub远程仓库与Git本地仓库的初始配置

返回目录
GitHub官网

3.1 GitHub Desktop

GitHub Desktop(官网下载)是GitHub的桌面版应用,不需要复杂设置且功能强大,不过貌似只可以在MacOS和Windows上使用,使用Linux系统和喜欢自己动手的小伙伴可以接着往下看。

3.2 Git本地版本库与GitHub版本库关联

3.2.1 创建SSH Key

参照Connecting to GitHub with SSH

  1. 查看SSH Key是否已经存在 ,打开Git Bash输入如下命令:
$ ls -al ~/.ssh

运行结果:
ls -al ~/.ssh
如果发现有id_rsaid_rsa.pub两个文件则表示SSH Key已经存在了,id_rsa是私钥,不能泄露,id_rsa.pub是公钥。
此时可以跳过步骤2,直接到步骤3。

  1. 如果第1步中没有id_rsaid_rsa.pub两个文件则需要创建,在Git Bash中运行如下命令:
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
#your_email@example.com 处填入自己的邮箱

然后根据提示操作,运行结果:
生成SSH Key
在生成过程中可以设置SSH Key的存储位置 :

Enter file in which to save the key (/c/Users/DemonHunter/.ssh/id_rsa):

此项直接回车采用默认即可。
可以设置SSH Key的密码:

Enter passphrase (empty for no passphrase):

此项如果不是重大涉密的项目直接回车不设密码即可,否则每次往GitHub版本库中提交的时候都需要输入密码,太麻烦。
然后我们还能在运行结果中看到SSH Key的存储位置:

Your public key has been saved in /c/Users/DemonHunter/.ssh/id_rsa.pub.

  1. 生成之后我们可以在提示的用户文件夹下找到id_rsa.pub,打开复制里面的所有文字。
    如果不想一层一层目录找可以按Win+R调出运行输入cmd打开命令提示符,然后如下操作就可以快速打开文件夹(cmd中查看目录文件用dir命令):
    快速打开ssh文件夹
  2. 登录GitHub将复制的文字按如下步骤粘贴:
    SSH Key步骤一
    SSH Key步骤二

3.2.2 从头创建与GitHub连接绑定的Git本地版本库

返回目录

  1. 先在GitHub上创建版本库:
    创建版本库
  2. 将版本库Clone到本地:
    到GitHub上获取版本库的地址:
    Clone版本库
    在你要放置版本库的文件夹中邮件打开Git Bash Here,运行命令:
$ git clone git@github.com:yourname/HelloGitHub.git
#将复制到的地址粘贴在clone之后即可
#首次运行会有一个提示
#The authenticity of host 'github.com (52.74.223.119)' can't be established.
#RSA key fingerprint is SHA256:********************************************.
#Are you sure you want to continue connecting (yes/no)?
#此处忽略掉直接输入 yes 回车即可

运行完之后你会在当前文件夹里面发现Git新建了一个与GitHub上版本库同名的文件夹,这个新建的文件夹就是本地的与GitHub绑定的版本库了。
运行结果:
Clone结果
进入这个文件夹,运行git status命令,会发现这么一句:

Your branch is up to date with ‘origin/master’.

说明当前的分支是 master , origin 作为别名代替GitHub上的版本库地址。
这之后可以用 git push 推送全部 或 git push origin master推送到 master 分支。

3.2.3 现有一个本地Git版本库,推送到GitHub并连接绑定

返回目录

  1. 在GitHub上创建一个版本库(创建方法)并获取远程版本库地址(获取方法)。

  2. 在本地已有的Git版本库中打开Git Bash,运行命令完成关联:

$ git remote add origin git@github.com:yourname/HelloGitHub.git
#origin为远程GitHub版本库的默认名字,也可以用一个其他的易于自己识别的名字
#git@github.com:yourname/HelloGitHub.git为获取到的远程版本库的地址
  1. 关联好之后将本地Git版本库推送到远程版本库:
$ git push -u origin master #往空的远程版本库origin的master分支进行第一次推送
# -u 参数会使Git将本地的master分支推送的远程版本库
#并且将本地的master分支与远程版本库中的master分支关联起来
#后续的推送就可以简化命令
$ git push origin master  #第二次及以后的推送
  1. 第一次推送可能遇到的错误:
    如果在GitHub上创建版本库的时候勾选了创建 README 或者添加了 .gitignore 等文件,那么在第一次推送的时候可能会遇到如下问题:
    第一次推送错误
    原因是本地的master分支与GitHub上的远程master分支有冲突,远程分支上的work本地分支上没有。
    解决方法:
    按照提示错误里面的提示, git push --help 查看帮助,会弹出一个网页,找到 Note about fast-forwards版块阅读发现这么一段:

Alternatively, you can rebase your change between X and B on top of A, with “git pull --rebase”, and push the result back. The rebase will create a new commit D that builds the change between X and B on top of A.
引用截图

按照帮助里的说明,先 git pull --rebase ,可能还会报一个错:
git pull报错
根据提示用命令 git branch --set-upstream-to=origin/master master 关联本地库master分支与远程库master分支,之后再次 git pull --rebase ,接着 git push -u origin master 成功!并且GitHub远程库中的文件也会出现在本地库中。

4 Git与GitHub教程

返回目录

  • <<Git Docs>>–Git文档
  • <<Pro Git>>–Git书籍,支持中文,在页面左边选择语言
  • <<GitHub Help>>–GitHub帮助文档,以上所写基本上都可以在帮助文档里面找到
  • <<Git简明指南>>
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值