git学习笔记

git学习笔记

git,是分布式的版本管理工具

一、背景

Linux系统, 创始人Linus,1999年研发之后即开源
2002之前前,都是Linus手动合并到代码库中
看中了Bitkeeper,提供给Linux免费使用权.
2005年,由于Linux的一个大牛尝试破解Bitkeeper。

两周之后,linus创建了新的版本管理工具git。

二、git & github

github是网站,是基于git的代码管理平台。

三、git安装

官网下载地址:https://git-scm.com/download/win

  1. 一直下一步直至安装完成

    • 校验:git --version 查看版本号
  2. 配合github,查看开源项目的代码。

  • 官网:https://github.com/

  • 以slf4j为例子,它的代码地址:https://github.com/qos-ch/slf4j

  • 找到 【clone or download】按钮 点击download zip

  • git clone + 链接地址,代表将远程代码克隆到本地

    • 例如 git clone https://github.com/qos-ch/slf4j
  1. 配置git,获取更改的权限。

    • 配置项:用户名和邮箱(在github上注册一个)

    • 命令:

    • git config --list 显示配置列表

    • git config --global user.name “用户名”

    • git config --global user.email “邮箱”

  2. 可选的配置密钥,才能使用git开头的链接地址,如:git@github.com:qos-ch/slf4j.git

    • 在本地生成密钥 :
      • ssh-keygen -t ras -C “邮箱地址”
      • 执行命令后,会提醒你设置文件夹保存key,默认是.ssh文件夹
      • 不设置密码直接回车后,生成id_rsa.pub文件
    • 在github上配置密钥:
    • settings > SSHand GPG keys > new ssh key
    • 验证是否成功:
    • 使用:ssh -T git@github.com 或者 直接执行 git开头的项目链接

四、git的使用命令

  1. 仓库,管理项目上最基础的目录。
    • 在github上创建。然后clone到本地。会提示这是一个空的仓库。
  2. 新版github放弃了用户名加密码的认证改成了 用户名加 token
    1. 生成token登录
  3. 项目右键 > git 查看相关提交、推送、历史记录等操作。
  4. 回退更改:
    1. 文件更改后,由白色变成蓝色
    2. 选中需要退回的文件,右键 > git > revert. 即可退回到文件原来的状态。
  5. 退回提交:
    1. 命令:git reset --hard HEAD~
    2. –hard表示强制执行
    3. HEAD~代表上一次提交 ~可以加上数字 HEAD~2 代表退回上上次提交

五、git的理论知识

  1. 工作区和暂存区

    • 工作区:就是存放代码的地方(项目文件夹)
    • 暂存区:临时存放改动的地方(通常在新建项目时使用)
    • 本地仓库:安全存放代码的地方
    • 远程仓库:github
    • git add 将代码从工作区 —> 暂存区(把文件托管给git)
    • git commit 将代码从暂存区 —> 本地仓库(存在一笔提交记录)
    • git push 将代码从本地仓库 —> 远程仓库 (促进多人合作)
  2. 分支

    1. 互不影响又同时进行的合作方式

    2. 创建仓库时,自动创建一个master主干。

    3. 具体使用场景:

      1. master:一般用来存放以上线的代码。
      2. 开发新的功能时,创建新的分支,每个人使用自己的分支。
      3. 最终进行合并,合并分支时会出现冲突问题。
  3. 分支的使用

    1. *代表所在分支
    2. 创建分支:
      • git branch + 分支名 默认拉取master上的代码创建分支
    3. 切换分支:
      • git checkout + 分支名
    4. 合并分支:
      • git merge + 分支名
      • 例如 test --合并–> master,首先确定当前分支为master 执行 git merge test
      • 这样test的代码就会出现到master代码中
  4. 分支冲突解决:

    • 出现冲突时:项目右键 -> git >conflicts resolved
    • 会出现三个对比框 最左侧时当前分支的代码 最右侧是待合并的代码 中间是选择合并的结果
  5. 推送分支到远程仓库:

    • git push origin test:test
    • test:test 冒号前面代表本地分支的名,冒号后面代表远程分支名

六、git仓库总结

分为本地仓库和远程仓库

  1. git init 新建一个本地代码库
  2. git clone 从远程拷贝 、
    • 拿到远程仓库的修改 git pull(拉取)
    • 提交给远程仓库修改 git push(推送)
  3. 如果想要创建一个自己的分支,确认要拉取的代码分支确保是最新的代码 git pull 然后执行创建分支的流程(从master拉取)
  4. 写好代码后,再推送给远程仓库
  5. 如果需要,再合并代码,让代码上线
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值