Git (Window)完整教程

Git、GitHub、GitLab、码云区别与关系

Git、GitHub、GitLab、码云关系图谱

在这里插入图片描述

GitHub

创建新仓库

一个仓库通常用来组织一个单独的项目。该仓库可以包含你项目中的所有文件,如文件夹、文件、图片、视频、电子表格、数据集等。我们建议包含一个README文件,或者你自定义的用来记录项目信息的文件。GitHub将默认在你创建仓库的时候添加它。在创建的同时还提供了权限许可选项。

1.打开GitHub网站输入已注册的用户名、密码完成登录,在首页的右上角,使用下拉菜单,然后选择"New reposltory"
在这里插入图片描述
2.创建输入库名“ gongcheng”
在这里插入图片描述
3.(可选)添加存储库的描述。
在这里插入图片描述
4.选择将存储库设为公共或私有。公开存储库对公众可见,而私有存储库仅供您以及与之共享的人访问
在这里插入图片描述
5.编辑自述文件
在这里插入图片描述
6.单击“Create repository”,完成仓库新建

编辑自述文件

1.在文件内容上方,单击编辑
在这里插入图片描述
2.Eidit file 编辑,Preview changes 预览,commit changes 提交变更
在这里插入图片描述
3.提交变更信息
在这里插入图片描述
4.确定是将提交添加到当前分支还是新分支,如果选择为提交创建一个新分支,然后创建一个拉取请求
在这里插入图片描述
5.单击“ Preopose file change”完成提交

创建一个分支

分支是一个可以让你在同一时间工作在同一个仓库的不同版本的方法。
在你的仓库中会有一个默认的名叫“master”的主分支,该分支用来存储你最终确定的版本代码。我们用其他的子分支来进行编辑和更改,确定之后再提交到主分支。
当你从主分支创建出一个子分支的那一刻,其实你就是对当时时间点的主分支做了一个拷贝。如果之后别的分支的人对主分支做出了更新,在你提交到主分支之前,你必须先从主分支上拉取那些更新。
下面的图表将显示分支合作的整个流程:
主分支
一个新的命名为“feature”的子分支(因为我们正在这个分支上做开发)
“feature”分支合并到主分支之前的历程
在这里插入图片描述
你是否像下面这样保存过不同版本的文件?
story.txt
story-joe-edit.txt
story-joe-edit-reviewed.txt
在GItHub仓库中的分支就是为了完成类似的功能。

在GitHub上,我们的开发人员,编辑人员以及设计人员,分别在独立的分支上完成自己修改bug或功能编写的工作。当一个功能编写确定之后,他们就将自己的分支合并到主分支上。

新建一个子分支

1.进入“gongcheng”仓库
2.输入分支名称“gongcheng-1”
3.点击下方蓝色背景的分支创建框或直接按键盘的“Enter”键
在这里插入图片描述

合并分支

请求代码合并是GitHub团队协作的核心功能。当你发出一个“请求代码合并”请求的时候,相当于你请求别人拷贝你当前的代码做出审查,审查通过之后将你的代码下载并且合并到他们的分支上。该请求将会在所有的分支上显示出不相同的部分。你做出的任何更改、增加以及减少,都会用绿色和红色显示出来。
在你的代码完成之前,你可以随时进行代码提交,发起请求代码合并的请求以及进行一场讨论。
你可以通过GitHub的“@”功能,在每次发出“请求代码合并”请求的时候,向特定的人或团队做出反馈,无论这个人是在你身边还是远在千里之外。
你可以向自己的仓库发出“请求代码合并”的请求,并且自己去合并他们。这在你接触到大型项目之前是一个非常好的练习方法。
为更改的README文件发出“请求代码合并”请求

第一步:点击“Pull Request”选项卡按钮,切换到请求代码合并页面,点击绿色的“New pull request”按钮

在这里插入图片描述

第二步:选择你创建的“gongcheng-1”分支,与主分支进行比较

在这里插入图片描述

第三步:在对比页面查看这些更改,确定他们就是你想要提交的,确认无误点击点击“Create pull request”按钮

在这里插入图片描述

第四步:合并“请求代码合并”请求到主分支“master”

点击绿色的“Merge pull request”按钮,将这些修改合并到主分支,再点击“Confirm merge”按钮
在这里插入图片描述
在这里插入图片描述

第五步:删除分支

点击紫色框中的“Delete branch”按钮,删除这个分支
在这里插入图片描述

设置Git

下载安装Git

百度网盘地址(非最新):
链接:https://pan.baidu.com/s/1hWYX7DdvPWawvjn6OqpPBw
提取码:jdr5

点击此下载安装最新版本的Git
根据实际情况下载最新版本的git,并完成安装
在这里插入图片描述

一 创建版本库(本地仓库)

版本库简单一点可以看作一个目录,创建这个目录可以被GIt管理,在里面的文件,你可以看到他的修改内容和历史修改痕迹,以及数据还原恢复。
1.打开本地git文件,右击,选择Git Bash Here
在这里插入图片描述
2.初始化
Git Bash Here 弹出框输入命令:git init
只有初始化才能添加文件到版本库,git才可对其进行管理

二. 在Git中设置用户名

为计算机上的每个存储库设置Git用户名

1.打开Git Bash
2.设置一个Git用户名:

git config --global user.name "Ywr"

3.确认您已正确设置Git用户名:

git config --global user.name
> Ywr

为单个存储库设置Git用户名

1.打开Git Bash。
2.将当前工作目录更改为要配置与Git提交关联的名称的本地存储库。
3.设置一个Git用户名:

git config user.name "Ywr"

确认您已正确设置Git用户名:

git config user.name
> Ywr

三.在Git中设置您的提交电子邮件地址

在GitHub上设置您的提交电子邮件地址

1.在首页的右上角,点击您的个人资料照片,然后点击设置。
在这里插入图片描述
2.在左侧边栏中,点击电子邮件。
在这里插入图片描述
3.在“添加电子邮件地址”中,输入您的电子邮件地址,然后点击添加
在这里插入图片描述
4.要在执行基于Web的Git操作时将您的电子邮件地址设为私有,请单击保持我的电子邮件地址为私有。
在这里插入图片描述

在Git中设置您的提交电子邮件地址

您可以使用该git config命令来更改与Git提交关联的电子邮件地址。您设置的新电子邮件地址将在您将来从命令行推送到GitHub的所有提交中显示。您在更改提交电子邮件地址之前所做的任何提交仍然与您以前的电子邮件地址相关联。

设置计算机上每个存储库的电子邮件地址

1.打开Git Bash。
2.在Git中设置一个电子邮件地址。您可以使用GitHub提供的电子邮件地址或任何电子邮件地址

git config --global user.email "7877XXXX@qq.com"

3.确认您已在Git中正确设置了电子邮件地址:

git config --global user.email 
>7877XXXX@qq.com

通过设置您的提交电子邮件地址将电子邮件地址添加到您的GitHub帐户

设置单个存储库的电子邮件地址

GitHub使用您在本地Git配置中设置的电子邮件地址将从命令行推送的提交与GitHub帐户相关联。
您可以更改与在单个存储库中进行的提交相关联的电子邮件地址。这将覆盖该存储库中的全局Git配置设置,但不会影响其他存储库。
1.打开Git Bash。
2.将当前工作目录更改为要配置与Git提交关联的电子邮件地址的本地存储库。
3.在Git中设置一个电子邮件地址。您可以使用GitHub提供的电子邮件地址或任何电子邮件地址

git config user.email "7877XXXX@qq.com"

4.确认您已在Git中正确设置了电子邮件地址:

git config user.email 
>7877XXXX@qq.com

通过设置您的提交电子邮件地址将电子邮件地址添加到您的GitHub帐户

四、添加文件到版本库

在git目录下创建一个文件,这里我创建的文件为bd001.txt,内容为123456
使用下列的命令,将创建的文件添加到暂存区,然后提交到仓库:
在这里插入图片描述
命令解析:

git add:目录/文件名/.  #提交目录/文件名到暂存区 . 指当前目录包括子目
git commit -m:'提交注释'  #将暂存区文件提交到仓库

五、查看

查看当前文件状态(是否有变更等)

git status

查看文件修改的内容

git diff

获得历史修改记录

git log #获得历史修改记录
git log --pretty=oneline #使记录只显示主要的内容,一行显示

在这里插入图片描述

六、版本回退

回退版本号,具体操作如下
在这里插入图片描述
命令解析

cat #查看文件内容
git reflog #获取历史版本号
git reset --hard 版本号/^^ #回退到该版本号对应的版本,^^表示回退到上个版本号

七、将本地文件推送到github仓库

1.创建本地SSH Key

Git和github之间是通过SSH加密的,因此需要执行下面的操作:
在本地主目录查找,是否有.ssh目录,如果有,打开该目录,一般会有这两个文件:id_rsa 和id_rsa.pub,如果有的话,直接跳过,在这里插入图片描述
如果没有的话,打开命令行,输入如下命令:

ssh-keygen  -t rsa –C “ssh-keygen -t rsa -C '78772XXXX@qq.com'”

(注意后面自定义邮箱地址,推荐和注册github的邮箱保持一致)
在这里插入图片描述

2.Git关联github ssh

第一步.登录github,右上角:设置→settings-SSH and GPR keys→New SSH key,然后输入你的标题,输入上面的公钥(打开id_rsa.pub文件复制粘贴到内容项),然后点击保存。
在这里插入图片描述
在这里插入图片描述

3.获取GitHub仓库地址

点击绿色的“Clone or download”下拉按钮,在弹出的下拉框中,点击右侧的箭头按钮复制地址:https://github.com/7877XXXX/gongcheng.git
在这里插入图片描述

3.获取GitHub仓库地址

远程仓库同步到本地

git pull --rebase origin master

提交到远程仓库

git push origin master

命令操作图
在这里插入图片描述
本地提交GitHub步情况
在这里插入图片描述

问题

问题一: fatal: HttpRequestException encountered.

在这里插入图片描述
原因: Github 禁用了TLS v1.0 and v1.1,必须更新Windows的git凭证管理器,才行。
解决方法:
点击下载https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 安装 GCMW-1.14.0.exe ,解决问题。

问题2 error: failed to push some refs to 'XXX'

原因:出现错误的原因是github中的README.md文件不在本地代码目录中。
也就是说我们需要先将远程代码库中的任何文件先pull到本地代码库中,才能push新的代码到github代码库中。
解决方法
使用如下命令:git pull --rebase origin master
然后再进行上传: git push -u origin master

附录

Git常见命令图

在这里插入图片描述

Git常见命令表

序号 命令 描述
1 git init 初始化本地版本库
2 git config --global user.email "邮箱地址" 设置计算机上每个存储库的电子邮件地址
3 git config --global user.name "用户名" 为计算机上的每个存储库设置Git用户名
4 git add 目录/文件名/. 提交目录/文件名到暂存区 . 指当前目录包括子目
5 git commit -m:'文件提交注释' 提交文件到仓库
6 git status 查看当前文件状态(是否有变更等)
7 git diff 查看文件修改的内容
8 git log 获得历史修改记录
9 git log --pretty=oneline 使记录只显示主要的内容,一行显示
10 git reflog 获取历史版本号
11 git reset --hard 版本号/^^ 回退到该版本号对应的版本,^^表示回退到上个版本号
12 ssh-keygen -t rsa -C '邮箱地址' 本地生成SSK key(私钥,公钥)
13 git remote add origin github地址 将你本地的仓库和github仓库进行关联,origin默认远程仓库别名 可以自己定义
14 git pull --rebase origin master 远程仓库同步到本地
15 git push origin master 提交到远程仓库
16 git remote -v 查看当前本地仓库是否关联远程仓库
17 git clone github地址 github已存在的项目克隆岛本地
18 git branch 查看分支
19 git checkout master 切换分支
20 git merge develop 合并指定分支develop到当前分支 master

参考:
http://rogerdudler.github.io/git-guide/index.zh.html

https://www.yangzhiping.com/tech/github.html
https://www.cnblogs.com/imyalost/p/8762522.html
github帮助

posted @ 2020-04-09 11:24  天天向上327  阅读(604)  评论(0编辑  收藏  举报