当前位置:   article > 正文

操作Git_git 分支 不让提交代码

git 分支 不让提交代码

一、版本控制简介

  • 团队开发中,代码整合。
  • 团队协作开发代码管理,
    • 数据备份
    • 历史记录(可以很方便的还原到之前的任意版本,有人称代码时光机)
    • 分支管理(我们目前使用master分支)
  • 版本控制软件
    • cvs(太老了,几乎没人用)、svn、git(和Linux一个作者),vss(微软开发语言)
  • svn和git区别:最大区别就是有没有本地库
    • svn:集中式的版本控制,还有cvs和vss都是集中式。
      • 所有的代码都是直接提交到服务器(本地局域网,远程),所有的数据备份和历史记录都在服务器,没有本地仓库,本地没有任何相关记录。回退到历史版本必须连接服务器。
    • git:分布式的版本控制。
      • 工作区
        • 代码编辑环境
      • 缓存区
        • 临时存储
      • 本地库
        • 缓存区提交到本地库,本地有自己的历史记录。
      • 远程库:团队中统一存储代码的位置
        • 将本地库的代码提交到远程库。
        • 局域网内部服务器:gitlab(在内网,只有在公司内部才能开发,安全性较高)
        • 使用外网服务器:github gitee(码云)(在哪都可以直接拉下来开发,安全性不高)

二、 git安装

  • 注意
    • 选择文本编辑器的时候,使用vim。因为都是操作Linux命令。
    • 环境变量配置,就用第一个。

三、本地操作

3.1初始化

  • 创建一个文件夹后需要初始化文件夹。

  • 让当前文件按夹受git管理,作为git管理的本地仓库,有.git隐藏文件(所有的文件,配置等等都在这里),并出现master分支。

    git init
    
    • 1

image-20201012150104857

3.2设置签名(必须有签名)

  • 设置全局签名,安装后就只做一次就可以了。

  • 用户名+邮箱组成。

  • 使用git操作之前必须要有签名,git要知道哪个用户在操作。

  • 项目签名

    • 针对当前项目的用户名,优先级最高。

      git config user.name 随便起名字
      git config user.email a.@163.com
      
      • 1
      • 2
  • 全局签名(我们用这个就够了)

    • 没有项目签名,搜索全局签名。全局也没有,就没办法操作。

    • 自己做用这个就够了。

      //全局用户名
      git config --global user.name lichangshun
      //邮箱名
      git config --global user.email lichangshun@163.com
      
      • 1
      • 2
      • 3
      • 4

3.3查看状态

git status
  • 1

image-20200920214555249

  • 新建文件,编写代码:在缓存区写入了数据。

3.4 git add添加到缓存区

//添加具体文件
git add 文件
//添加文件夹
git add --all 文件夹
  • 1
  • 2
  • 3
  • 4
  • 纳入版本控制:让新建的文件,编辑文件(工作区)git add(进入缓存区)受git管理。

image-20201012152859705

  • 一个文件只用做一次。
  • 可以撤回缓存区到工作区

image-20201012153142607

3.5 git commit提交到本地库

  • 每次修改后需要提交到本地库,产生历史记录,同一文件必须修改版本号才能再次提交。

  • 提交到本地库。

  • 提交时会让添加注释。

    image-20200920214610166

  • 也可以提交时添加注释

    git commit -m "modify a.txt insert b" a.txt
    
    • 1

3.6 查看历史记录

最常用:
	git reflog
或
	git log
	git log --pretty=oneline
	git log --oneline
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

git log

image-20201012153855804

git log --pretty=oneline和git log --oneline

image-20201012154050336

reflog

image-20201012154235390

3.7 还原

git reset --hard 版本号
  • 1

image-20201012154425098

四、提交到远程库

4.1 注册账号

4.2 创建远程仓库

  • 仓库名:和项目名一样即可。
  • 选择语言:Java
  • 选择模板:Java
image-20201012155613531

4.3 推送,克隆,下来

  • 推送:—push
  • 克隆:第一次下拉操作。
  • 下拉:—pull。第一次克隆后,以后都叫下拉。
image-20201012155829884

4.4 将本地库第一次推送到远程

  • 配置远程地址的本地别名

    查看:
    	git remote -v	
    配置远程仓库地址:名字可以随便起,一般叫origin
    	git remote add origin 仓库地址
    
    • 1
    • 2
    • 3
    • 4
image-20200920215140370 image-20200920215153590
  • 推送到远程

    //git push 本地仓库别名 分支
    git push origin master -f
    输入账号,密码
    
    • 1
    • 2
    • 3

账号密码输入错了,把凭据删除,重新输入,否则会记住错误账号密码

image-20201012160928988

4.5 git clone

  • 其他开发人员第一次抓取代码就是克隆。只做一次
  • 当克隆报错就下拉
  • 克隆后所有东西都有了
image-20201012161403534
git clone 仓库地址
  • 1

4.6 下拉

git pull origin master
  • 1

4.7 其他人员加入开发团队

  • 码云团队添加账号
image-20201012163719795

image-20201012163924454

要添加管理的账号复制链接在浏览器输入访问,接受即可,就成为仓库管理成员了本地,但不能推送代码。

五、冲突

  • 两个人都下拉了文件,一个人修改并推送了,另一个人的文件的远程的版本号就不一样了,就不能推送了。两个版本号要相邻,差一个版本就会出问题,发生冲突
image-20201012164502050

image-20201012165458662

显示冲突标识

  • 先下拉文件,修改文件冲突部分。

image-20201012165344124

留下你想保留的结果,全留或者留其中一个

image-20201012165409776

  • 添加到缓存区,再提交到本地。
    • 注意:提交到本地不能加文件名。

变回原来的样子了

image-20201012165703023

  • 推送。

六、操作总结

git init
git status
git add 文件
git commit -m "修改了什么" 文件
git reflog
git reset --hard 版本号
git remote -v
git remote add origin 仓库地址
git push origin master -f 账号,密码
git clone 仓库地址
git pull origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

七、eclipse

7.1 初始化

image-20200920215213082 image-20200920215953020

7.2 设置忽略文件

  • 下载可忽略文件

    image-20200920220011938
  • 给文件添加点数据。

    image-20200920220024239

  • 在任意位置创建文件夹。可以放在C:\Users\win10\

  • 在.git配置文件中设置文件位置。(记住:用反斜杠,不要用斜杠。)

image-20200920220233217

7.3 添加到本地

image-20200920220302377 image-20200920220314020

7.4 创建远程仓库

7.5 第一次推送

image-20200920220354594 image-20200920220408846 image-20200920220418906 image-20200920220428788

7.6 第二次推送

(6)邀请加入团队

7.7 克隆

  • 如果上传的文件添加了忽略文件,克隆后不是标准的maven结构,configure—convert to maven project

7.8 下拉

image-20200920220520323

7.9 冲突

  • 先pull下来,修改,再提交。

  • 使用合并工具

    image-20200920220533549

image-20200920220557715

八、配置忽略文件

8.1 特定环境配置

忽略jar包,war包,防止冲突

image-20201013093351664

8.2 本地配置,不依赖环境

image-20201013093648858

excludesfile = C:/Users/Administrator/Java.gitignore
  • 1

九、idea配置git

9.1 配置git安装目录

image-20201013093839605

9.2 配置github

idea默认是集成github,不用装插件

9.3 配置gitee

没有集成gitee,安装插件

image-20201013123539612

  • 装完配置一下

image-20201013094237896

10、idea使用git

10.1 git init

image-20201013094513174

10.2 git add/git commit

image-20201013094801343 image-20201013094829780

10.3 创建远程仓库

10.4 git remote add origin 仓库地址

image-20201013095757149

image-20201013095823847

10.5 push

image-20201013095906306

第一次推送要报错

image-20201013125854978

在项目目录里敲一次这个命令,以后就都成功了

image-20201013100131736

git pull origin master --allow-unrelated-histories
  • 1

image-20201013100202113

image-20201013130226059

显示这个就成功了

image-20201013101132316

10.6 clone

以前svn的叫法,checkout就是git里的clone

image-20201013101453122

不同版本不一样

image-20201013132453908

没有加入团队,只能clone不能推送远程,在gitee上加入团队

10.7 pull

先拉下来在上推

注意!!!:下拉别人更改过的代码版本后会直接更新覆盖现有的代码

10.8 解决冲突

image-20201013102410605

image-20201013132534007

再推送即可

10.9 配置自动add

image-20201016105926297

10.10未添加的文件添加到本地

image-20201016110025696

10.11 取消添加

image-20201016110104748

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/625580
推荐阅读
相关标签
  

闽ICP备14008679号