Git&GitHub

目录

1、版本控制

2、Git安装

3、 初始化配置

 4、Linux基本命令

5、初始化仓库

 6、添加暂存区

7、提交本地库 

8、修改文件 (模拟代码版本迭代)

 9、历史版本 版本穿梭

 10、git分支操作

 11、Git团队协作机制

12、 GitHub操作

13、邀请加入团队

 14、SSH免密登录

15、配置Git忽略文件

16、定位Git程序(IDEA中)

  17、初始化本地库

 18、查看版本信息

 19、创建&切换分支

 20、合并分支

21、 IDEA集成GitHub

 22、国内代码托管中心     码云


1、版本控制

        1)集中式(svn)

         svn因为每次存的都是差异 需要的硬盘空间会相对的小一点  可是回滚的速度会很慢

                  优点:代码存放在单一的服务器上 便于项目的管理

                  缺点:服务器宕机: 员工写的代码得不到保障

                       服务器炸了: 整个项目的历史记录都会丢失

        2)分布式(git)

            git每次存的都是项目的完整快照 需要的硬盘空间会相对大一点

        (Git团队对代码做了极致的压缩 最终需要的实际空间比svn多不了太多 可是Git的回滚速度极快)

           优点:完全的分布式

           缺点:学习起来比SVN陡峭

2、Git安装

3、 初始化配置

git config 命令来配置或读取相应的环境变量,这些环境变量决定了git在各环节的具体工作方式和行为。这些变量可以存放在以下不同的三个地方

  1. /etc/gitconfig文件:系统对所有用户都普遍适用的配置   命令:git config --syste操作系统
  2. ~/.gitconfig文件:用户目录下的配置文件只适用于该用户命令:git config --global当前用户
  3. .git/config文件:当前项目的Git目录中的配置文件       命令:git config      当前项目

一台操作系统可以有多个用户,一个用户可以有多个项目

项目配置的优先级最高   删除配置信息:git config --global --unset user.email

一般都使用--global

 4、Linux基本命令

        (1)区域:工作区(workspace) 暂存区   版本区

        (2)对象:Git对象  树对象  提交对象

基础Linux命令

        1)clear:清除屏幕

        2)echo ‘’ : 往控制台输出信息         可用于创建文件

                   damu写入test.txt文件

        3) 将当前目录下的子文件&子孙目录平铺在控制台

        4)find 目录名:将对应目录下的子孙文件&子孙目录平铺在控制台

        5)find 目录名 -type f:将对应目录下的文件平铺在控制台

        6)rm 文件名:删除文件

        7)mv 源文件 重命名文件:重命名

        8)cat 文件的url:查看对应文件的内容   cat test.tx 

                                  

        9)vim 文件的url(在英文模式下)

                a)按i  进插入模式 进行文件的编辑  

                b)按esc键+ :键 进行命令的执行

                        q! 强制退出 不保存

                         wq 保存退出

                        set nu 设置行号

                c)yy 复制 p粘贴

        10)tail -n [l] 文件名 :查看文件最后l行内容

5、初始化仓库

        初始化新仓库(在工作区目录下运行Git Bash Here ):git init

        .git目录          ll -a 查看隐藏文件

        hooks:目录包含客户端或服务端的钩子脚本

        info:包含一个全局性排除文件

        logs:保存日志信息

        objects:目录存储所有的数据内容

        refs:目录存储指向数据提交对象的指针(分支

        config:文件包含项目特有的配置选项

        description:用来显示对仓库的描述信息

        HEAD:文件指示目前被检出的分支

        index:文件保存暂存区信息

        git status 查看本地库状态

                首次查看本地库状态:

 6、添加暂存区

        git add  文件名

 warning:windows中的换行符为CRLF Linux中的换行符为LF 这里表示会换行符自动转换

"git rm --cached <file>”删除暂存区中的文件

7、提交本地库 

        将暂存区的文件提交到本地库形成自己的历史版本

        git commit -m “日志文件信息” 文件名

        查看本地库状态

 

         查看日志信息  git reflog(精简版)    git log (详细版)

8、修改文件 (模拟代码版本迭代)

        修改文件后查看本地库状态

 

 9、历史版本 版本穿梭

        git reflog  查看版本信息

        git log     查看版本详细信息

        git reset --hard 要穿越到的版本号   版本穿梭 (通过指针调用)

 此时查看文件为第一个版本文件

 10、git分支操作

        在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。(分支底层是指针的引用)

 

 .git/HEAD文件:HEAD指针指向分支

 .git/refs/heads/master文件:master指针指向的具体版本

        分支的好处:

                同时并行推进多个功能开发,提高开发效率

                各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可。

        git branch 分支名 创建分支

        git branch -v 查看分支

        git checkout 分支名 切换分支

        git merge 分支名 把指定的分支合并到当前分支上

         在hot-fix分支上修改文件

         合并分支

                1)正常合并

                

                 2)冲突合并

                 冲突产生的原因,两个分支在同一个文件的同一个位置有两套完全不一样的修改。 Git无法替我们决定使用哪一个,必须人为决定新代码内容。

                     手动合并分支

 修改为要保存的内容

 11、Git团队协作机制

        (1)团队内协作

        (2) 跨团队协作

12、 GitHub操作

 

 远程仓库操作

  1. git remote -v                        查看当前所有远程地址别名
  2. git remote add 别名 远程地址         起别名
  3. git push 别名 分支                   推送本地分支上的内容到远程仓库
  4. git clone 远程地址                   将远程仓库的内容克隆到本地
  5. git pull 远程库地址别名 远程分支名 将远程仓库对于分支最新的内容拉取后与当前本地分支直接合并

 a.创建别名

        b.推送本地分支到远程仓库

 

         c.拉取远程库代码

         d.克隆远程仓库到本地

凭据管理器中删除git账号

 

 

 克隆代码+初始化本地库

13、邀请加入团队

         (1)团队内合作

        修改代码

        将其他成员加入团队

         需要复制邀请地址 发给成员二

         成员二在github页面的地址栏粘贴邀请地址

                                     同意  婉拒                                

         (2)跨团队合作

        团队外的人访问git-demo   点击右上角fork 将代码叉入自己的远程库

                                 

         团队内需要创建pull request

         提交合并申请

 14、SSH免密登录

        C:\Users\10491 ----->  Git Bash Here

        ssh-keygen -t rsa -C git账号邮箱地址

 

 C:\Users\10491\.ssh  

 复制公钥:cat id_rsa.pub

 Git账号--settings 添加公钥

连接失败(未解决 

15、配置Git忽略文件

        1)为什么要忽略.idea中的xml文件

        与项目的实际功能无关,不参与服务器上部署运行。把他们忽略能够屏蔽掉IDE工具间的差异

        2)如何忽略

                a.创建忽略规则文件xxx.ignore(前缀名随便起,建议为git.ignore)

这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig文件引用,建议也放在用户家目录下(C:\Users\10491) 

需要忽略什么后缀的文件就写:*.后缀名

                b.在.gitconfig中引入

16、定位Git程序(IDEA中)

        创建Maven工程

 

setting---Version Control---Git 配置git安装路径C:\Program Files\Git\bin\git.exe

        点击test出现 git版本信息则配置完成

  17、初始化本地库

                ------>本地库中出现.git文件

                 

                 

                       提交本地库

                代码修改后文件变蓝 代表追踪过 但有修改

 18、查看版本信息

                 

                     版本切换

                 

 19、创建&切换分支

        (1)项目右击

        (2)页面右下角master

         

         切换分支

 20、合并分支

        (1)正常合并

 (2)冲突合并

发生冲突,点击Merge手动合并

 日志信息

21、 IDEA集成GitHub

        (1)设置GitHub账号

settings生成口令(token)

        (2)Push

                 注意:push是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一样,push的操作是会被拒绝的。(push前先pull)

        Git-->(失败

         (3)pull拉取远程库到本地库           Git---pull

         (4)clone克隆远程库到本地

                             

 22、国内代码托管中心     码云

        码云是开源中国推出的基于Git的代码托管服务中心 网址:https://gitee.com/

        

 IDEA集成码云                 安装码云插件 settings-----plugins

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值