Git使用

目录

一、前置准备工作

在window中安装Git

二、git简介

Git是什么

Git与SVN区别

git文件状态与工作区域

三、gitee.com的使用

四、组长组员的git使用

常用命令

五、git冲突

        git冲突的场景

解决方案


一、前置准备工作

申请并[激活]一个Gitee帐号  

在window中安装Git

在Git官网下载,安装

 安装版本根据自己电脑配置选择

 

 创建开始菜单目录名称,默认git,不需要修改

 选择git使用的编辑器

 

 

 

 行末换行符转换,使用默认值

 

 

 

 

 

 

 检测安装成功,任意窗口或桌面都可以右键,出现下面两个选项即可

二、git简介

Git是什么

Git是一个开源的[分布式][版本控制系统],用于敏捷高效地处理任何或小或大的项目

Git与SVN区别

去中心化
GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别

git仓库的任何一个拷贝都可以独立作为一个服务器来使用

在Git中文件有四种状态
      未跟踪(untrack):表示文件为新增加的
      已修改(modified):表示修改了文件,但还没保存到git仓库中。
      已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
      已提交(committed):表示文件已保存在git仓库中。

 其它
      GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
      GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏

直接记录快照,而非差异
      GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里

直接记录快照,而非差异
      GIT分支和SVN的分支不同,分支在SVN中一点不特别,就是版本库中的另外的一个目录。

git存在分支

git文件状态与工作区域

文件状态  
   
 git中的文件有以下几种状态
     未跟踪(untrack):表示文件为新增加的
     已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
     已提交(committed):表示文件已保存在git仓库中。
     已修改(modified):表示修改了文件,但还没保存到git仓库中

工作区域
按照本地计算机与远程计算机划分,工作区域有以下几种
1)本地计算机
     Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内

Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内

 Repository(本地仓库):提交到本地仓库的文件

2)远程计算机
     Repository(远程仓库):已提交到远程计算机内的文件

三、gitee.com的使用

创建仓库(私库和公库)

 

注1:仓库对应url支持多种协议,最常用的有两种:https/ssh
注2:github上repository分为public和private
          顾名思义public可以被其他人看到并clone;而private是不能被别人看到的,但是可以被clone,由于是private的,要克隆当然是需要一些强前提条件的,
          不然安全性无法保证,private也就失去了意义。这里把repository创建为private的场景为:自己创建一个私人项目,但是又需要和其他developer一起开发,
          所以,需要developer都能克隆这个private repository,并且都能提交到这个private repository。

接下来就可以把私有仓库改成共有仓库

点击管理

填写相关信息 

 把状态改为开源

 点击保存

新建文件

 

 点击保存

 

 

 这是第一种新建文件的方法,紧着看第二种

 

在新建文件的同时也可以添加文件夹,比如说项目会跟文档放在一起

先填doc/

 

也可以单独新建文件夹

 

 

 

删除文件

 

 

删除仓库

 

 

 

 

 

 

四、组长组员的git使用

常用命令

   git clone :将远程仓库clone到本地计算机。
   git status :展示工作区及暂存区域中不同状态的文件。
   git add :将内容从工作目录添加到暂存区。
   git commit :所有通过 git add 暂存的文件提交到本地仓库。
   git push :将本地仓库的记录提交到远程仓库。
   git reset HEAD <file> :从暂存区移除指定文件。
   git pull :拉取远程仓库的数据。

使用git从远程仓库pull至本地仓库

先创建一个仓库

 

将私有仓库改为开源

 

新建了一个文件Goods

把项目拉取到本地中去:

先在E盘新建了一个temp文件夹,在其中又新建了0926git的文件夹,进入

 

去gitee复制仓库链接 

 

右键选中past

 

回车

 

在里面去写代码,比如新建一个User类

ll :查看当前目录下的所有文件

git status

git add

User.java文件已变为暂存状态 

git commit -m

项目文件已经从暂存区提交到了本地仓库

git push

需要输入git用户名和密码

提交成功之后,再去gitee刷新查看项目是否多了一个User.java的文件

 

git config --list

 

项目经理

1、在某一个工作区间搭建环境,ssm能跑起来

2、在该工作区间中执行git init 命令,标记该工作区间由git所管理

3、在gitee/github中新建仓库

4、通过 git remote add origin url 将本地仓库与远程仓库进行关联

5、将本地仓库与远程仓库 进行文件同步

git pull --rebase origin master

6、执行git三部曲 add、commit、push,将搭建好的环境推送到远程仓库
 

各成员

1、通过git clone将组长搭建好的环境克隆到本地;并且保障项目能正常运行

2、测试组员修改/新增代码是能够推送到远程仓库的

        测试git add/commit/push是否有用

五、git冲突

git冲突的场景

情景一:多个分支代码合并到一个分支时;
情景二:多个分支向同一个远端分支推送代码时;
情景三:同一分支,同一文件修改后的提交(即为多个程序员修改了同一个文件)

实际上,push操作和pull操作其实就分别是用本地分支合并到远程分支 和 将远程分支合并到本地分支,所以这两个过程中也可能存在冲突

  分别在同一项目的两个不同本地仓库修改a.txt并提交,则会报出以下错误:
! [rejected] master -> master (fetch first) error: failed to push some refs to ' 。。。'

拒绝
错误:无法推送某些引用

 解决方案

1.将代码copy出来


2.先从远程仓库pull代码至本地,再修改冲突代码,       
     注1:git status查看仓库状态,会显示红色的错误提示消息“ both modified:   a.txt”


3.打开a.txt,手动修改冲突部分的代码
     <<<<<<< HEAD
     ww add 18:42 from e:\temp\test1
     =======

     ls add 123 at 18:17 from d:\temp\test1
     >>>>>>> 63c73e5933bb7d3d2bed04b06c37a74602d65b2e
     注1:<<<<<<< HEAD  >>>>>>>之间的即为冲突的代码,手动修改即可
      
4.依次add/commit/push代码至远程仓库
     commit执行完生,重新查看仓库状态git status,红色的错误提示消息“ both modified:   a.txt”
     已经没有,表示冲突已解决

按键须知

vi在命令行编辑文件

按 i 键 黑窗口才允许输入编辑内容

按 ESC 键 退出编辑窗口

再按 : wq 保存编辑文件修改的内容,回到git命令窗口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值