Git_尚硅谷

19-26_git_尚硅谷

介绍 #

使用代码托管中心(远程服务器) ly-20241212142124425

  • 团队内写作 push–clone–push— –pull ly-20241212142124625
  • 跨团队写作 fork(到自己的远程库)—clone ly-20241212142124707

创建远程库&创建别名 #

  • 官网:https://github.com
  • 现在yuebuqun注册一个账号 创建一个远程库git-demo,创建成功 ly-20241212142124787
  • 创建远程库别名 git remote -v (查看别名) 为远程库创建别名 git remote add git-demo https://github.com/lwmfjc/git-demo.git 别名创建成功 fetch和push都可以使用别名 ly-20241212142124868

推送本地库到远程库 #

  • 推送master分支 切换git checkout master
  • 推送 git push git-demo master ly-20241212142124947

拉取远程库到本地库 #

  • git pull git-demo master 结果 ly-20241212142125028

克隆远程库到本地 #

  • git clone xxxxxxx/git-demo.git ly-20241212142125111 clone之后有默认的别名,且已经初始化了本地库

团队内写作 #

  • lhc修改了git-demo下的hello.txt
  • 之后进行git add hello.txt
  • git commit -m “lhc-commit " hello.txt
  • 现在进行push git push origin master 出错了 ly-20241212142125194
  • 使用ybq,对库进行设置,管理成员 ly-20241212142125275
  • 添加成员即可 输入账号名 ly-20241212142125354
  • 将邀请函 ly-20241212142125433 发送给lhc ly-20241212142125516
  • 现在再次推送,则推送成功 ly-20241212142125598

团队外合作 #

  • 先把别人的项目fork下来 ly-20241212142125682

    ...

09-18_git_尚硅谷

命令 #

  1. 命令-设置用户签名

    • 查看 git config user.name git config user.email
    • 设置 git config --global user.name ly001 git config --global user.email xxx@xx.com
    • git的配置文件查看 ly-20241212142119718
    • 作用:区分不同操作者身份,跟后面登陆的账号没有关系
  2. 初始化本地库

    • git init

      ly-20241212142119957 多出一个文件夹 ly-20241212142120049

  3. 查看本地库状态

    • git status ly-20241212142120138 默认在master分支
    • 新增一个文件 vim hello.txt ly-20241212142120222
    • 此时查看本地库的状态 ly-20241212142120310 untracketd files 未被追踪的文件,也就是这个文件还在工作区
  4. 添加暂存区

    • git add hello.txt ly-20241212142120403 LF 将会被替换成 CRLF,windows里面是CRLF,也就是说

      这个换行符自动转换会把自动把你代码里 与你当前操作系统不相同的换行的方式 转换成当前系统的换行方式(即LFCRLF 之间的转换)

      这是因为这个hello.txt是使用vm hello.txt在git bash里面添加的,如果直接在windows文件管理器添加一个文件(hello2.txt),就会发现没有这个警告,因为他已经是CRLF了 (为了和视频保持一致,git rm –cached hello2.txt 后删除这个文件) ly-20241212142120487

    • 查看当前状态,绿色表示git已经追踪到了这个文件

      文件已经存在于暂存区 ly-20241212142120577

      ...

01-08_git_尚硅谷

概述 #

课程介绍 #

  1. Git - git介绍–分布式版本控制+集中式版本控制 - git安装–基于官网,2.31.1 windows - 基于开发案例 详细讲解常用命令 - git分支—特性、创建、转换、合并、代码合并冲突解决 - idea集成git
  2. Github
    • 如何创建远程库
    • 推送 push
    • 拉取 pull
    • 克隆 clone
    • ssh免密登录
    • idea github集成
  3. Gitee码云
    • 码云创建远程库
    • Idea集成Gitee
  4. Gitlab
    • gitlab服务器的搭建和部署
    • idea集成gitlab
  5. 课程目标:五个小时,熟练掌握git、github、gitee

官网介绍 #

  1. git是免费的开源的分布式版本控制系统
  2. 廉价的本地库
  3. 分支功能 ly-20241212142118069
  4. Everything is local

版本控制介绍 #

  1. 记录文件内容变化,以便将来查阅特定版本修订记录的系统
  2. 如果没有git ly-20241212142118196
  3. 为什么需要版本控制(从个人开发过渡到团队合作) ly-20241212142118292

分布式版本控制VS集中式版本控制 #

  1. SVN,单一的集中管理的服务器,保存所有文件的修订版本。其他人都先连到这个中央服务器上获取最新处理是否冲突 ly-20241212142118383
  • 缺点,单点故障,如果某段时间内故障了,那么就没法提交
  1. Git,每台电脑都是代码库 ly-20241212142118467
    • 如果远程库挂了,本地还是可以做版本控制的,只不过不能做代码推送而已
    • 每个客户端保存的都是完整的项目(包括历史记录)

发展历史 #

  1. linux系统版本控制历史
    • 1991-2002 手动合并
    • 2002 BitKeeper授权Linux社区免费使用(版本控制系统)
      • 社区将其破解
    • 2005 用C语言开发了一个分布式版本控制系统:Git 两周开发时间
    • 2008年 GitHub上线

工作机制和代码托管中心 #

ly-20241212142118560

...