git简单来说就是方便几个人共同开发一个项目,它可以保存完全版本之前的各个版本,方便回滚到需要的版本,也方便别人理解该项目的开发流程。 

        只要获得授权,每个人都能往上放代码。

官方的git托管服务器,不过我们用它的话可能比较慢,因为它是国外的。我下面举例使用的是国内的托管服务器gitee(码云),他们功能基本一样。

目录

一、Linux使用本地git

1、在线安装

2、使用命令

 二、对接云端多人协作

0、自己注册一个账号。

1、新建仓库

2、本地仓库推送到云端

3、分支管理

4、普通开发者

一、Linux使用本地git

1、在线安装


sudo apt-get install git


gitlab 设置必须2人审核后才能merge_推送

 下面是没有git的情况

 

gitlab 设置必须2人审核后才能merge_git_02

 下面是安装成功

gitlab 设置必须2人审核后才能merge_服务器_03


window 直接到

Git

官网下载即可

gitlab 设置必须2人审核后才能merge_服务器_04


2、使用命令

git config --global user.email "xxx@example.com" 
git config --global user.name "xxx"

 设置签名

git init

 这个命令会在你的代码目录下创建一个本地仓库或叫日志记录,可以使用来ls -a来查看

有一个.git文件

gitlab 设置必须2人审核后才能merge_linux_05


git add .

选择出要记录日志的文件(‘.’代表所有文件),并放入缓存区

git commit -m "本次提交注释"


确认提交(第一次提交需要设置name+email),打上日志


没有设置签名,执行提交会得到提示


gitlab 设置必须2人审核后才能merge_推送_06


 直接git commit 不加参数,会有下面提示,让你写点备注

gitlab 设置必须2人审核后才能merge_推送_07

 保存(ctrl+s)退出(ctrl+x),“111111”是我刚才输入的备注

gitlab 设置必须2人审核后才能merge_git_08


 也可以直接在命令后加参数“-m”+“备注”

gitlab 设置必须2人审核后才能merge_linux_09

git reflog

查看日志(可以看到提交的日志记录, 可以方便回滚) 

gitlab 设置必须2人审核后才能merge_服务器_10

git status

 查看状态,例如下图有一个文件修改了,但是没有生成日志,就会有提示add

 

gitlab 设置必须2人审核后才能merge_推送_11

git reset --hard <某次commit的hash码,通过git reflog看到这个码>

回滚之前的版本,hash码就是每行日志最前面的一串数字

gitlab 设置必须2人审核后才能merge_推送_12

gitlab 设置必须2人审核后才能merge_github_13

 二、对接云端多人协作

         这一步就是把代码放到云端,让别人也能下载,上传,一起维护。我选用的是gitee国内的。github是国外的服务器。还有一个是运行在局域网的gitlab。

0、自己注册一个账号。

1、新建仓库

        点击右上角新建仓库        

gitlab 设置必须2人审核后才能merge_git_14

         设置名字

        仓库地址就是你往云端传送的目的地

gitlab 设置必须2人审核后才能merge_linux_15

         还没有代码的时候默认是私有的,后面可以改。

gitlab 设置必须2人审核后才能merge_git_16

         上传代码,一开始进入都是有提示的,可以跟着步骤走。

        注意:这些是在本地仓库(linux)上使用命令啊,别不知道在哪用。

        仔细看前面步骤,其实就是在创建本地仓库。

gitlab 设置必须2人审核后才能merge_git_17

2、本地仓库推送到云端

git push https://gitee.com/zhurich/testgit.git master:master


        推送本地仓库到云端,需要输入gitee账号。



gitlab 设置必须2人审核后才能merge_github_18


gitlab 设置必须2人审核后才能merge_推送_19


         云端就有本地的代码了。

3、分支管理

        git有一个分支管理的思想。

        就是有一个主线master,支线develop,你可以每次把未确定版本放在支线里,等你开发到比较好的程度时,再放到主线里。

        本地一般只有主线。

gitlab 设置必须2人审核后才能merge_git_20

         创建支线

gitlab 设置必须2人审核后才能merge_推送_21

gitlab 设置必须2人审核后才能merge_推送_22

gitlab 设置必须2人审核后才能merge_服务器_23

 

gitlab 设置必须2人审核后才能merge_github_24

        最好改一下主分支权限,改成保护分支。

        保护分支:只有创建者可以改。

gitlab 设置必须2人审核后才能merge_github_25

         改一下文件,重新编,这一次往支线推送。

gitlab 设置必须2人审核后才能merge_推送_26

gitlab 设置必须2人审核后才能merge_服务器_27

         支线里的文件发生了变化,主线没有。

gitlab 设置必须2人审核后才能merge_推送_28

gitlab 设置必须2人审核后才能merge_github_29

4、普通开发者

        上面都是管理员的操作,普通成员不是想怎么做就怎么做的。

        1、获得授权

gitlab 设置必须2人审核后才能merge_git_30

gitlab 设置必须2人审核后才能merge_git_31

gitlab 设置必须2人审核后才能merge_github_32

 

        把链接地址发给别人,其他人可以看到下面的内容,点击接受就添加进来了。

gitlab 设置必须2人审核后才能merge_推送_33

         开发者的数量就会改变。

gitlab 设置必须2人审核后才能merge_服务器_34

克隆到本地(同步服务器的代码)

git clone https://gitee.com/zhurich/testgit.git master
//git clone +云端仓库地址+分支

gitlab 设置必须2人审核后才能merge_服务器_35

修改并推送

git add . 
git commit -m "xxxxxxxxxxx" 
git push https://gitee.com/zhurich/testgit.git dev
//该填自己的填自己的,我这是示例。

         4、主线合并

        觉得某个版本稳定了,就可以放到主线了。

gitlab 设置必须2人审核后才能merge_推送_36

gitlab 设置必须2人审核后才能merge_推送_37

gitlab 设置必须2人审核后才能merge_服务器_38

gitlab 设置必须2人审核后才能merge_github_39

         2个都通过后,就可以点合并了。

        统计-》仓库网络图,可以看支线和主线的流程。

gitlab 设置必须2人审核后才能merge_服务器_40