Git远程仓库使用

说明:使用Git,可以实现版本控制和协作开发。需要协作开发,当然需要建立一个Git代码托管的平台。目前可以使用GitHub、码云、GitLab等,码云相当于国内的GitHub,在国内访问速度高于GitHub;而GitLab是搭建私服的,是使用Git作为代码管理工具,并在此基础上搭建起来的web服务。三者的使用大同小异,这里以码云为例。

基础操作

第一步:注册登录

打开码云官网(https://gitee.com/),登录或注册
Git远程仓库使用_第1张图片

第二步:创建远程仓库

Git远程仓库使用_第2张图片
Git远程仓库使用_第3张图片

第三步:关联远程仓库

首先,在本地电脑桌面上创建一个文件夹(当然不创建也可以),鼠标右键打开Git窗口,输入git init命令,初始化一个本地仓库。

Git远程仓库使用_第4张图片

输入以下命令,克隆远程仓库至本地

git remote add 连接名 远程仓库链接

远程仓库链接,可以从网站上复制
Git远程仓库使用_第5张图片

在这里插入图片描述

此时,本地仓库已经关联了远程仓库,就可以进行拉取、推送等一系列操作。

克隆远程仓库(推荐此方式)

另外,还有一种简单的方式,即在本地克隆远程仓库,在本地任意位置鼠标右键,打开Git窗口,输入以下命令:

git clone 远程仓库链接

Git远程仓库使用_第6张图片

刚刚我在前面的那个本地仓库创建了一个文件,并推送到远程仓库,故此处克隆远程仓库有文件

Git远程仓库使用_第7张图片

推荐使用此方式,简洁优雅

远程仓库操作

查看远程仓库连接

git remote -v

Git远程仓库使用_第8张图片

添加远程仓库链接

git remote add origin 远程仓库链接

Git远程仓库使用_第9张图片

拉取文件至本地

在进行拉取之前要先提交本地仓库,达到“working tree clear”状态

检查本地仓库的状态,拉取前先保证本地仓库为“完美状态”(working tree clean)

Git远程仓库使用_第10张图片

Git远程仓库使用_第11张图片

在远程仓库创建一个文件

Git远程仓库使用_第12张图片


git pull 链接名 远程仓库分支名

Git远程仓库使用_第13张图片

远程仓库文件已拉取到本地仓库
Git远程仓库使用_第14张图片

推送文件至远程仓库

在进行推送之前要先进行拉取,保证自己本地仓库的内容是最新的

在本地仓库新建一个文件

Git远程仓库使用_第15张图片


git push 链接名 远程仓库分支名

Git远程仓库使用_第16张图片

刚刚忘记了把文件提交到版本库,提交后再推送至远程仓库,可以看到已经推送成功
Git远程仓库使用_第17张图片

推送冲突

当多个人操作远端仓库,对同一文件操作时,内容的不一致时,在推送时会发生冲突。

例如,有A、B两个本地仓库,都链接到了同一个远程仓库,并对master分支下的Gitee文件进行操作

Git远程仓库使用_第18张图片


Git远程仓库使用_第19张图片

A先提交并推送(没有问题)

Git远程仓库使用_第20张图片

B在提交推送前的拉取时,出现修改冲突(fix conflicts……)
Git远程仓库使用_第21张图片

查看B中的Gitee.txt文件,箭头符号包含的部分是冲突的内容

Git远程仓库使用_第22张图片

可将文件修改成如下,再次拉取推送
Git远程仓库使用_第23张图片
Git远程仓库使用_第24张图片

分支操作

新创建的仓库,默认会有一个master分支,一般不会在master分支上添加版本,而是会建立一套分支系统,在各自的分支上推送内容,称为工作流。(参考:http://t.csdn.cn/QJW1s)

创建分支/查看分支

创建分支

git branch 分支名

查看分支

git branch

创建newline分支并查看,分支名前面带“*”,表示当前所处分支
Git远程仓库使用_第25张图片

切换分支

建议在切换分支之前,先提交本分支的内容到本地,以免造成混乱,不知道什么分支的内容没有提交。另外,从master分支切换到其他分支,其他分支会复制一份master分支的内容到本分支。

git checkout 分支名

Git远程仓库使用_第26张图片

已切换到newline分支,但是本地仓库文件未发生变化,是因为该分支复制了一份master分支的内容
Git远程仓库使用_第27张图片
在newline分支新建一个文件,并提交至版本库,然后切换回master分支

Git远程仓库使用_第28张图片

master分支并没有newline分支的文件

Git远程仓库使用_第29张图片

推送分支至远程仓库

同样,推送分支前先检查本地仓库该分支下的状态是否为“完美状态”

git push 远程仓库链接名 分支名

推送newline分支至远程仓库
Git远程仓库使用_第30张图片

可以看到远程仓库已有newline分支
Git远程仓库使用_第31张图片

合并分支

在合并分支之前,先检查本地各分支的状态是否为“完美状态”

git merge 分支名

现在在本地仓库下,有三个分支,分别是master、moreline、newline,每个分支下分别自己独有的文件

Git远程仓库使用_第32张图片

master分支

Git远程仓库使用_第33张图片


newline分支

Git远程仓库使用_第34张图片

moreline分支

Git远程仓库使用_第35张图片

三个分支,都达到“完美状态”
Git远程仓库使用_第36张图片

合并newline分支和moreline分支。需要注意的是,合并分支前要先切换到newline分支下,即合并A、B分支,要先切换到A分支

Git远程仓库使用_第37张图片

合并分支后,newline分支有两个分支合并后的内容

Git远程仓库使用_第38张图片

合并分支后,将合并后的分支newline,推送到远端,当然推送前需先拉取

Git远程仓库使用_第39张图片
Git远程仓库使用_第40张图片

另外,合并分支后,被合并的分支并不会消失。切换到该分支,还能看到该分支下的独有内容,如果在该分支下创建文件并推送到远端。之前虽然合并过分支,但并不会同步地增加被合并分支新增的文件内容。如有需要,还需再次合并。

Git远程仓库使用_第41张图片

Git远程仓库使用_第42张图片
Git远程仓库使用_第43张图片

Git远程仓库使用_第44张图片

总结

(1)可以设置SSH公钥的方式连接远程仓库,更安全方便;(参考:http://t.csdn.cn/mx7Pr)

(2)使用Git命令窗口操作,虽然简洁高效,但非常容易操作失误(如文件未加入暂存区、未提交至版本库、分支未提交等等),可以使用tortoisegit,是一款专门为Git提供可视化操作的工具(官网:https://download.tortoisegit.org/tgit/)

你可能感兴趣的:(git,gitee)