我去,码云Gitee原来是这样使用的
学习时,经常需要管理自己的代码,使用到 码云gitee 这个代码托管平台,所以在这里操作演示,做个笔迹详细记录一下。以下介绍 gitee 的使用操作。
一、 码云Gitee相关介绍
简介:介绍码云gitee的相关信息。
码云是现在国内最大的代码托管平台,提供基于Git的代码托管服务,是一个为开发者提供稳定、高效、安全的云端软件开发协作平台。
除了Git代码托管这个功能,码云还提供代码在线查看、历史版本查看、打包下载任意版本、保护分支、代码质量检测、PaaS 项目演示等功能。
一个开源项目,开源分为两个群体:核心开发团队、贡献者。核心开发团队,拥有对代码修改的最终决定权;贡献者,能查看源代码但不能对版本库提交修改。
使用集中式版本控制系统(如SVN):
贡献者不能直接向版本库提交修改的代码。
而核心开发团队,对于涉及到版本库的操作(查看日志、创建分支等)都需要在连网的情况下进行,受网络带宽的影响比较大。
使用分布式版本控制系统(如Git):
每个开发者本地都拥有一份完整的版本库。
Git不排斥集中式模式,但更倾向于将集中式版本库称为共享版本库。
核心开发团队与共享版本库之间不需要一直保持连接状态(如查看日志、提交、创建分支等),几乎全部操作都(脱离网络)能在本地版本库中完成。
核心开发团队和贡献者(非项目成员)都可以从共享版本库克隆一份本地版本库,但 只有 核心开发团队成员才可以将自己的本地版本库推送到共享版本库上。
贡献者(非项目成员)提交自己对项目修改的两种方式:
用 git format-patch 命令将本地仓库提交转换为补丁文件或补丁文件序列,再通过 邮件 发送给核心开发团队。
搭建 一个自己的 共享版本库 ,通过 邮件 创建一个拉拽请求(Pull Request),让核心开发团队成员到自己的版本库来抓取(Pull)。
创建者只需在码云上点击创建版本库,再完成授权和核心开发团队的组建,项目就创建完成了。
贡献者参与项目:
找到想参与的项目,在自己的托管空间下创建一个派生(Fork)的项目(对派生项目的版本库拥有读写的完全权限)。
当贡献者完成开发,并向自己派生的版本库推送后,通过码云向项目的核心开发团队发送一个 Pull Request,请求审核。
核心开发团队收到 Pull Request 后审核代码,审核通过后,执行合并操作接纳贡献者的提交。
如图所示
二、 Gitee注册账号和搭建环境
简介:介绍初次运行git时的配置、账号的创建、git客户端能否访问git仓库。
( 2.1 这部分作为理论熟悉,根据自己情况可直接从 2.2 开始操作)
使用前,需要配置自己的Git工作环境,只需要配置一次,以后升级会继续沿用现在的配置(如果需要修改,可以用相同命令修改配置)。
Git 提供了 git config 工具(即 git-config 命令,通过 git 加一个名字来执行此命令),用来配置或读取相应的工作环境变量,这些环境变量决定了 Git 在各个环节的具体工作方式和行为。
变量存放的三个地方:
/etc/gitconfig 文件:系统中对所有用户都适用的配置(如果使用 git config ,选择 –system 选项,读写的就是这个文件)。
~/.gitconfig 文件:用户目录下的配置文件只适用于该用户(如果使用 git config ,选择 –global 选项,读写的就是这个文件)。
.git/config 文件(当前仓库的 Git 目录中的配置文件):这里的配置仅仅针对当前仓库有效(每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量)。
配置 个人用户名 和 邮箱地址 ,每次 Git 提交时都会引用这两条信息,这两条信息会随更新内容一起写入历史记录,命令如下
git config --global user.name "用户名" git config --global user.email "注册Gitee的邮箱"
如果使用 --global 选项,更改的配置文件就位于用户主目录下,以后 所有仓库 都会默认使用这里配置的用户信息(如果要在某个特定的仓库中使用其他名字或者邮箱,只要去掉 --global 选项重新配置即可,新的设置保存在当前仓库的 .git/config 文件里。)。
Git 需要输入一些额外信息的时,会自动调用系统默认的文本编辑器,如 Vi 或 Vim 。
如果需要自定义,输入以下命令(以 Emacd 为例)
git config --global core.editor emacs
这个命令是在解决合并冲突时,使用哪个差异分析工具。
输入以下命令(以改用 vimdiff 为例)
git config --global merge.tool vimdiff
另外,Git 可以理解为 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff 等合并工具的输出信息(可以自定义指定的开发工具)。
检查已有的配置信息
git config --list
有时候会看到一样的变量名,则说明它们来自不同的配置文件(如 /etc/gitconfig 和 ~/.gitconfig ),Git 实际采用最后一个。
查阅某个环境变量的设定(把特定的名字跟在后面即可)
git config user.name
打开 浏览器 ,在地址栏输入 Gitee.com ,敲击回车,出现以下界面,点击 加入码云
出现以下界面,选择注册登录方式
完成注册。
以下操作是用终端模拟器 Cmder ,推荐使用这个工具,这个工具比较便捷,比如需要粘贴,点一下右键就粘贴了。如果不想下载这个工具,也可以在终端操作(打开 终端 快捷键:Win + r ,输入 cmd )
(-: Cmder下载 ,也可以在网上找相关资源下载)
打开 Cmder (或 终端 ),输入 git 查看是否显示命令的使用方法
git
配置 Git 全局用户名和邮箱,注意替换用户名和邮箱
git config --global user.name "用户名" git config --global user.email "注册Gitee的邮箱"
配置免密访问 Gitee.com 。为了能够向刚创建的仓库提交代码,需要配置加密的密匙到 Gitee.com ,在实现通信加密的同时,不需要用户每次都验证账号输入密码。
在 Cmder 输入以下命令(命令中有双引号的,在双引号中输入邮箱),接着不用输入, 一路敲击回车 就可以了
ssh-keygen -t rsa -C "注册Gitee.com的邮箱地址"
命令执行完后,在 Windows个人用户目录 下会生成一个 .ssh目录 ,打开后可以看到生成的 私钥 和 公钥 文件
在.ssh目录中,新建两个文本文件 config 和 known_hosts
在 config 文件中加入以下内容( 注意 文件名要删掉后缀.txt)
# gitee 指定私钥路径 Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa
完成后如下
打开公钥id_rsa.pub文件(以记事本形式打开),复制里面的内容
在 known_hosts 文件中加入复制的内容,把末尾的 邮箱名删掉 ( 注意 文件名要删掉后缀.txt)
gitee.com <粘贴id_rsa.pub的内容,并去掉它结尾的邮箱>
完成后如下
登录 Gitee ,点击超链接进入 码云添加SSH公钥,熟悉的话也可以按一下操作进入。
鼠标移到右上角头像处,点击 设置
再点击 SSH公钥 ,在这里添加公钥。
打开后填入一下信息,把 公钥id_rsa.pub 的把 所有 内容复制这里,点击 确定
点击 确定 后,会弹出提示,按提示输入验证身份就可以了
验证成功后,打开 Cmder 输入下面命令测试认证Gitee.com 是否成功
ssh -T git@gitee.com
认证成功,继续下面的操作。
三、 创建Gitee仓库和提交代码
简介:介绍Gitee仓库的创建、使用Git提交代码。
登录 Gitee.com ,点击右上角的 + 号,再点击 新建仓库
填写 仓库名称 ,设置 公开 (一般指的是开源项目)或者 私有 ,其他默认(也可以根据自己需要选择)
这里要 勾选 上(如果不勾选,到时候操作不太方便,比如需要用git命令创建仓库)
选择 分支模型 为 特性/发布模型(根据具体需要选择,比如选择单分支模型),点击 创建 ,仓库创建完成 。
打开仓库,点击 代码 ,选择 SSH ,复制仓库的SSH访问链接(注意选择的是SSH协议,不是HTTPS协议)
如果以后需要查看 远程仓库 的 访问连接 ,打开仓库后点击 代码 ,在右侧点击 克隆/下载 ,再选择所需要的复制
打开 Cmder ,选择存放仓库的地方(根据自己情况选择),输入以下命令
d: mkdir d:\GitTest cd d:\GitTest git clone 仓库的SSH访问链接
进入上面所创建目录,查看目录,检查仓库是否下载成功
如果想创建一共git的本地仓库,则按以下操作。
进入到想创建本地git仓库的文件夹,用以下命令(路径是指git本地仓库的路径),
cd 路径
把这个目录设置成git本地仓库,输入以下命令
git init
打开文件夹,发现生成了一个 .git 文件,表示git的本地仓库创建成功。
把需要提交的代码解压到该目录下
进入到克隆下来的仓库
cd Gitdemo
把代码加入到 暂存区
git add *
查看 暂存区 的代码,可以看到文件处于new file状态
git status
把代码提交到 本地仓库 ,双引号内写入本次提交的注释,命令如下
git commit -m "提交内容注释"
再次查看 暂存区 ,查看暂存区文件状态,如下图,暂存区没有还没提交到 本地仓库 的文件
将 本地仓库 提交到 远程仓库 (即Gitee仓库)
git push
通过 浏览器 打开 Gitee仓库 ,查看代码是否提交,可以看到提交记录等信息
( 3.2.2 的操作,以上面上传的代码为例,请根据自己的代码修改)
以 记事本 形式打开 .html 文件,对代码进行修改,修改前如下
修改完后,点击 保存
用浏览器打开该文件,查看是否修改成功
根据3.2.1的操作命令,把修改后的代码提交到远程仓库
用到下面这几条命令
git add * git status git commit -m "提交内容注释" git push
把修改的文件放入 暂存区 ( 注意 这两条命令: git add是把修改的代码放入暂存区,git add *是把当前目录所以修改的文件都放入暂存区)
查看暂存区状态,再把 暂存区 代码提交到 本地仓库
检查暂存区状态,把 本地仓库 推送到 远程仓库
再打开浏览器,查看该远程仓库日志,查看是否提交成功
好了,代码提交演示完成。
四、 分支与标签的管理
简介:介绍如何管理git的分支,如何使用分支进行开发、修复bug。
在软件开发行业中,有一种常见的版本号分类方法,就是使用数字标记,用点(dot)符号隔开,随着每次版本的更新数字会递增。软件版本有: 开发版 (develop), 新特性版本 (feature), 正式版 , 修复版 (hotfix) 。
例如 1.2.8 这个版本号,通常 1 代表 大版本号 ,代表软件的重大改版更新,架构的大更改; 2 代表 小版本号 ,一般是新增一些小功能或模块; 6 代表 功能修复 ,就是大家常说的修复bug。
master 是主干分支, 正式版 一般要从主干分支发布。
发布前要在版本位置上标记上版本信息(即打标签),通过打标签,方便以后知道发布的版本对应着哪一次提交的内容。
以上面的创建为例,版本号为 v1.0.0 ,发布三个版本:
正式版v1.0.0。
正式版v1.0.1,包含一个bug修复(hotfix)。
新特性开发版v1.1.0 Build-20200518,包含一个新特性。
查看本地仓库的分支,*表示当前分支
git branch
查看本地仓库提交历史(发行版本前,要确定该版本有哪些提交内容)
git log
给 master 分支(主干)打上标签 v1.0.0
git tag -a v1.0.0 -m '正式版v1.0.0'
查看所有的标签
git tag -l
将新增的标签提交到远程仓库
git push --follow-tags
查看标签是否提交,打开 浏览器 ,查看 远程仓库 ,点击 统计 ,再点击 标签
在下面这里点击 发行版 ,可以创建 远程仓库的发行版 ,这样别人就可以直接下载该版本的应用了(在此就不演示这个操作了)
如果需要修复bug(假设正式版v1.0.0发现了一个bug),在 master 分支上,基于 v1.0.0 来修复这个bug,从标签 v1.0.0 新增一个分支来修复
git checkout -b hotfix-v1.0.1 v1.0.0
查看是否新增的 hotfix-v1.0.1 分支,并且当前正处于这个分支上
git branch
如果想切换分支,可以输入这个命令来切换不同的分支
git checkout 分支名称
接着以 记事本 形式打开.html文件(和上面一样,请根据自己的代码修改,文章代码的操作演示,是根据我提交的代码来操作的),修改前如图所示
修改为 正式版v1.0.1 ,点击 保存
接着,在 Cmder 输入以下命令,提交修改
git add index.html
git commit -m "提交内容的注释"
git push
因为 hotfix-v1.0.1 只是一个临时分支,所有修改完后要合并到 master 分支。
切换到 master 分支
git checkout master
把 hotfix-v1.0.1 分支的修改合并到 master 分支上
git merge --no-ff hotfix-v1.0.1
加上标签 正式版v1.0.1
git tag -a v1.0.1 -m "正式版v1.0.1"
hotfix-v1.0.1 分支已经合并到 master 分支上,为了方便维护,一般会删掉这个分支,输入以下命令
git branch -d hotfix-v1.0.1
接着 push 推送到 远程仓库 ,输入以下命令
git push --follow-tags
查看新的 Tag 是否存在
git tag -l
打开 浏览器 ,检验以下是否提交成功
提交完成。
开发一个 新特性版v1.1.0 (假设这个版本短时间内开发不完,需要以迭代方式开发),每日发布一个开发版(版本号后面加上Build的日期)。比如第一次开发是2020年5月18日,则版本号就是v1.1.0 Build-20200518。
为了不影响 master 分支的正常维护(master 分支可能还要发布修复bug),一般需要在v1.0.1 标签这里再新建一个develop分支,输入命令如下
git checkout -b develop v1.0.1
修改代码内容(请根据自己代码修改)
修改后如下
把修改的代码放入 暂存区
git add 文件名
把 暂存区 的代码提交到 本地仓库
git commit -m "提交内容的注释"
使用的标签标记为 v1.1.0-Build-20200518
git tag -a '标签' -m "标签描述"
建立追踪关系,设置本地仓库的分支(好像默认都有origin)对应远程仓库的分支
git push --set-upstream 现有分支 远程分支
把本地仓库提交到远程仓库,输入以下命令(该命令是追随标签提交)
git push --follow-tags
打开 浏览器 进入仓库,检验是否提交成功
好了,提交完成。
简介:这一小节就不截图演示了,直接介绍怎样操作。
输入以下命令进入到 Git本地仓库
cd 本地仓库路径
查看分支
git branch -a
切换到想操作的分支
git branch [branch]
在本地仓库删除想要删除的文件
git rm [file] //如果想删掉所有文件,则用 * 替代文件名
或者用下面这句命令删除
git rm -r [file] // -r表示递归所有子目录
删除后再进行提交(提交到本地仓库)
git commit -m "提交描述"
最后推送到远程仓库
git push origin [branch]
五、 常用命令
简介:介绍操作时经常使用到的Git命令。
git本地仓库:
工作区
本地版本库——.git隐藏文件夹
暂存区——修改了的文件,还没提交到仓库。
提交状态
关于 暂存区 介绍:
本地仓库里面存放了很多东西,其中有个很重要的叫做stage(或者叫index)的暂存区。
git自动创建的第一个分支为master,指向master的一个指针叫做HEAD。
工作区、暂存区、本地版本库、远程版本库 之间的关系如下(图片是大二时的资料,源于网络):
git clone : 从git服务器(远程仓库)拉取代码。
git config : 配置用户名和邮箱。
git branch :操作项目分支(创建、重命名、查看、删除)。项目开发一般是在开发分支进行,开发完后再合并到主干。
git checkout : 切换分支。
git status :查看文件变动状态。
git add :将文件添加到暂存区。
git commit :提交文件变动到版本库(本地仓库)。
git push :将本地代码推送到服务器(远程仓库)。
git pull :将服务器(远程仓库)上的最新代码拉取到本地。
git log :查看版本提交记录(按j往下翻,按k往上翻,按q退出查看)。
git tag :为项目标记标签。
.gitignore :设置哪些内容不需要推送到服务器(远程仓库)。
关于 .gitignore 操作的介绍:
这是一个配置文件(不是Git的命令),在项目中,通过命令 ==touch .gitignore== 创建一个.gitignore文件,通过编辑器打开创建的这个文件,添加忽略的文件或目录(每行代表一个忽略的文件或目录)。
本地仓库 与 远程仓库 之间的联系命令:
git clone 与 git pull 的区别:
git clone 不需要本地初始化仓库,git pull 则需要。
git clone 本地无需是一个仓库,且克隆将设置额外的远程跟踪分支,文件夹.git里存放与远程仓库一样的版本库记录。
本地仓库 与 暂存区 之间的联系命令:
对 分支 的操作:
对 标签 的操作
撤销 的命令
查看历史信息:
六、 操作时遇到的问题
简介:介绍操作时常遇到的问题。
需要删掉文件后缀的时候,找不到文件的扩展名,点击 查看 ,勾选 文件扩展名
找到需要修改的文件,点击文件,右键选择 重命名 ,再修改
点击 确定
扩展名修改完成
解决方法:把计算机名修改为英文名
点击 此电脑 ,右键 属性 ,选择 系统保护 或者 高级系统设置
再在弹出的窗口选择 计算机名 ,接着修改就可以了
提示克隆了一个空仓库,这个提示可以忽略的。上面的操作,新建仓库还没有放入内容,就弹出了这个提示,对接下来的操作没有影响的。
可能是Windows用户不能访问 .ssh目录 ,导致创建密钥失败,解决操作:
找到 .ssh 文件夹 (一般位于用户目录下,即 C:\Users\Windows用户名 这个目录里面)
右键 .ssh 文件夹,点击 属性
点击 安全 --> 高级 ,在弹出的界面的左下角,点击 禁用继承 ,再点击确定
弹出提示窗口,点击 从象中删除所有继承的权限 ,接着你会看到所有用户都删除掉了,让我们添加所有者
在这个窗口中,点击 编辑 --> 添加 --> 选择用户或组 --> 高级 --> 立即查找 ,点击后会显示用户列表
选择你的用户账户
接着一路点击 确定 ,就解决这个问题了
可能是Windows的用户名采用了中文或特殊字符,因为命令参数不支持中文和特殊字符,所有导致了创建目录失败,修改下用户名就可以了。
也有可能是没有C盘的访问权限,如果是权限问题,请参考 6.3 的解决方法。
查看命令是不是少打空格等,导致参数错误。
这个提示是因为使用HTTPS协议管理远程仓库,却使用了错误的gitee用户名和密码,输入正确的注册邮箱和密码就可以解决这个问题了。
这个提示是因为 Git的 user.name 和 user.email 没有配置,随意导致远程仓库认证失败,配置 gitee用户名和认证邮箱 就可以解决这个问题了。
Git提交到远程仓库时,自动把提交文件的 Windows的分行符 转换为 Linux/Unix的分行符 ,这个提示可以忽略。
这是输错命令的了,看清楚命令-。-
Git ssh
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。