Git开发使用总结

Git学习总结:

1、Git常用命令

2、git log分析与检索

3、git分支管理

4、分支开发主干发布模式

版本管理系统:

来源:如果没有版本管系统,则多个人操作同一份文件就比较杂乱,不清楚自己改了那些东西,别人改了哪些东西

需求:需要在多个人操作同一个项目的时候有一个数据表,用来记录什么时间谁提交了什么内容,并且可以随时回到之前修改的地方,方便版本管理和控制

分布式和集中式的区别:

集中式:有一台中央服务器,每台电脑都有自己的版本管理工具,将各个电脑的版本管理推到服务器上,服务器记录每台电脑的版本记录工作

              问题:1、推送必须网络才能到达服务器 

                         2、随着用户提交的增多,服务器压力越来越大,需要排队等等

                         3、服务器挂了,就没有补救的方法,很不安全

分布式:去掉了中央服务器,每台电脑都是自己的服务器

              问题:1、只能在局域网之内工作,在家的无法拿到局域网内的版本管理系统的(如何拿到?)

                         githab:人和人、局域网和局域网之间进行交互,如何解决上面的问题。可以租个服务器,把整个版本管理推到服务器上(相当于一个网络硬盘),即使在家也可以访问版本管理,githab出现了,它用来进行版本管理。把文件推到githab服务器,任何人都可以进行拉去、推送的操作

                         优点:不需要联网,只要在局域网范围内,都可以推给同事A、B       

                                     无论有多少台电脑,都不会阻碍到电脑的速度

                                    *保存非常完美,如果同事A的电脑坏了,同事B有自己的备份,DEF等互相备份的,非常安全的操作

             工作模式:在局域网之内修改传递、修改传递,

 

安装:Windows安装直接在官网下载安装包

1、配置用户名和邮箱

原因:git是在局域网之内工作(清晰团队中的各个成员)

--global指的是全局配置   在任何目录查看用户名和密码都全局配置的值

git config --global user.name XXX

git config --global user.email XXX

查看配置git config -l /--list

2、创建仓库

a、在文件根目录下:git init

b、增加一个文件:read.txt

c、提交到临时仓库:git add read.txt

d、提交到仓库:git commit -m ”add 123“

备注:以上操作表明一个版本管理的雏形已经完成

e、在read.txt增加一个修改

f、查看结果:git status

或者查看修改了什么内容:git diff

g、提交到临时仓库:git add read.txt

      git status  

3、我们做了什么:

工作区:修改工作内容

stage临时仓库:git add 可以增加很多文件,可以在这个过程中任意的增删改查,是比较保险的操作。

master仓库:git commit 一次性提交到master分支

stage和master被称之为版本库或者管理系统

4、最大的优势:---撤销修改状态

假如修改的问题不对:

针对工作区撤销:

        查看状态:git status

        撤销修改(工作区):git checkout -- read.txt  将工作区的修改还原到上一次(add、commit)的修改

针对临时仓库撤销:

        查看状态:git status

        撤销修改:git reset HEAD read.txt  撤销了临时区

        撤销修改:git checkout -- read.txt 撤销工作区

针对master仓库撤销:HEAD指向哪里,就代表现在在哪个存档位置

        git commit:相当于游戏存档,有N个存档

        查看提交的日志(存档):git log

        撤销修改:git reset --hard HEAD^   ^代表上一个存档,^^代表上上个存档

        查看状态:git stauts  提示没有需要提交的(直接将临时区和工作区内容全部删除)

githab服务器(临时的网络硬盘):分布式版本控制服务器,可以解决只能在局域网工作的问题

问题:使用了githab服务器是否就和集中式一样了?

           分布式的add、commit都是在本地进行的一系列操作,集中式的add、commit都是在服务器进行操作,不能在本地

1、配置秘钥:使用cd ~/.ssh查看是否存在id_rsa和id_rsa.pub,如果没有则需要命令ssh-keygen -t rsa -C "youremail"

        秘钥在pub文件下

        进入GitHub ---  settings  ---  SSH and GPG keys  ---  New  SSH Key  --- 将本地秘钥add进去     【完成配置操作】

2、git  push:把本地仓库传递到远程仓库上

      (1)、添加远程仓库的地址:git  remote  add  origin  git@github.com:XXX    

      (2)、将本地仓库传到远端:git  push  -u  origin  master 

例如:在githab上创建一个自己的仓库,your repositories  --  new  ---  name:myTest   【创建了一个新的仓库】

           在本地初始化仓库的路径下使用git  remote  add  origin  git@github.com:myTest.git  【增加仓库地址】

           git push -u origin master  第一次推送使用-u把远程的origion分支和本地的master分支关联起来  【完成网络存档的步骤,方便以后可以随时随地下载】  

Git分支管理:

原理:master代表commit次数的主分支,HEAD指向表示正处于master分支上;可以先抛弃master分支,创建一个Dev分支,并使得HEAD指向Dev分支,如果在Dev分支进行一次add、commit,即代表增加一次存档,目前则Dev分支已经领先于master分支,最终Dev分支要合并到master分支

问题:为什么要存在Dev分支?

            不能一直使用master分支,会对该分支造成污染,如果commit很多错误,然后一一删除太麻烦,则使用Dev分支(可以进行一系列操作),最终合并到master分支,删除Dev分支。master分支代表很稳定的版本

分支管理指令:git branch dev 

切换到dev分支:git checkout dev/master 【将HEAD从master分支指向dev分支】

查看分支状态:git branch 

在新分支上做修改并且add、commit;然后切换master分支并查看分支状态

分支合并:将dev上提交的内容合并到master分支git merge dev    注意:处于master分支上才能merge

删除dev分支:git branch -d dev

查看分支状态:git branch

IED自动git插件

1、File --- setting  ---  Version Control --- GitHab --- 点击+号 --- 输入账号和密码     【git和IDE进行关联】

2、File --- setting  ---  Version Control --- git  ----  (git的执行地址)配置git的地址

3、githab  ---  your repositories  --  new  ---  name:zjtest    【创建一个空的仓库,注意:记创建的githab地址】

4、创建本地仓库: VSC ---  import into Version Control ---  Creat Git repositories  ---  选择当前的项目   

      注意:当前目录变红,表示处于工作区【相当于git init】

5、配置githab:右键项目  ---  Git  ---  Repository  ---  Remotes  --- +号  ---  增加项目的githab地址

以上操作将githab和本地项目做了关联

6、把本地文件推送到githab上面,右上角对勾  ---  勾选需要提交的文件(idea文件先不提交)  ---  点击commit

      点击控制台的log查看:master分支已经commit一个版本

***7、把本地的master分支推送到githab服务器上:右键项目  ---  Git  ---  Repository  ---  push         【本地的存档push到githab服务器上】

8、在gtihab上创建一个文件(如何拉去githab上的文件) 蓝色向下的箭头  ---   OK  

9、增加了一段错误的代码  ---  选择上一个存档  ---  右键  ---  Reset Current Branch to Here  ---  Hard  ---  reset     【commit之后git reset的操作】 

10、本地增加一行代码  ---  右上角对勾  ---  (首次push之后) ---  commit/commit and push   【既在本地存档,又在远程存档】HEAD指向master和origin

11、创建新分支:点击 右下角Git:master  ---  new branch  ---  自定义名称dev  ---  OK  、

12、在dev中增加代码  ---  commit   ---  切换master分支  ---  右键checkout  ---  点击dev存档记录  ---  右键  ---  Branch dev  ---  Merge into Current    【HEAD中既包含了master也包含了dev】

13、右键点击右下角Git:dev  ---  Delete  

14、将代码push到远端(参考第七步) Head指向origin和master  ---  刷新浏览器,可以看到四次提交      【在本地dev开发并合并到master上】

15、点击控制台:查看发生了什么

16:控制台:Terminal ,可以直接使用git命令

为什么不提交idea:项目属于idea项目,如果将自己的idea配置信息提交到githab上,其他人无法进行操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值