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帮助