git

代码管理工具

没有代码管理 会出现什么问题

  • 版本备份 , 版本混乱问题
  • 团队合作, 代码冲突
    • 团队同时自己电脑一份代码, 那么两人,更改同一文件, 就会冲突,如何把多人的代码 合并成 一份代码
  • 权限控制
    • 对于新手 更改 源代码是 很危险的
  • 追责任的时候
    • 没有办法知道 哪个代码 是who 写的

代码管理的功能


  • 能了解项目的内容变化
  • 团队开发, 合并所有人的代码,成一份
    ____
代码管理工具

  • 集中式管理工具 (一台超级计算机来管理(作为服务器))
    • SVN
  • 分布式管理工具
    • git (每个主机都可以管理自己的代码,都有自己的版本库)
      _____

git

git的工作原理


  • 工作区(working directory): 仓库文件(.git)之外的内容
  • 版本库 (.git 文件)
    • 缓存区(stage) --》git add . 文件修改放到stage中
    • 分支 (master) , git 自动创建的第一个分支(真正的版本库)

      缓冲区 存放 到 当前分支中 git commit -m "xxx"

    • HEAD 指针: 用来指向当前的分支 (几可以存在很多的分支)

  • 工作区 的 内容 和 分支 同步

  • 一些专业术语
    仓库, 分支, .gitInore
    ______

git的本地使用


  • git的配置 (修改的是 项目中的(workSpace).git/config文件)进入项目的跟文件

    • 建立本地的仓库 git init

    • 配置用户名, 知道哪些行为是 who干的
      git config "user.name" 用户名

  • git的状态 git status
    • 停留在工作区
    • 停留在缓存区
    • 加入到分支中了
  • 版本控制 , 可以在自己电脑上操作

    • 提交版本
      • 要求, git提交到版本仓库,之前要先添加到缓存区域(性能考虑)
      • 具体代码 提交到本地仓库
        添加到缓存 git add .
        添加到仓库 git commit -m "标签"
    • 版本回退
      • 好处 当现在搞坏了, 可以回到以前的版本的代码
      • git reset --hard 版本号
    • 版本日志 --> 查看who 干了 什么
      • git log
      • note git reflog 查看指令使用记录
        使用场景: 当回到以前版本上时候, 又想回到 最新的版本:但是不知道版本号: 可以使用 这个 命令, 查看最新的版本号

git的远程仓库,适合团队开发


  • 搭建远程仓库
    • 在github 上托管项目
    • 国内 一般就在 oschina 上托管项目: 完全免费
  • 远程仓库中的问题思考
    • 任何防止其他人对自己的项目写操作
      • 通过 登陆 用户名, 和密码:
    • 如何防止密码, 用户名传输过程中被盗
      • ssh (Secure Shell)主要就是想解决口令在网上明文传输
        的问题
    • 在 github 中添加 我们生成的 公钥, 而我们电脑自己保存私钥:使用时候, 两个相配对
  • 本机 和 远程仓库的配置 见题外
    • 配置ssh key : 在远程仓库中 添加 对应客户端的 公钥
  • 代码同步
    • 服务器更改了, 客户端通过 pull, 来同步
    • 客户端更改了, 客户端通过 push, 来同步
    • 客户端直接从服务器 客户 git clone ,,,

git 提示的


  • 错误
    untracked files 新建的文件,没有在缓存区, 和分支中
    changes not staged for commit: 修改了某个在分支的文件中

题外


ssh的验证方式 (RSA 加密)
  • 根据口令的方式 (不够安全)
    这种 就是采用 远程登陆到 对应的服务器上 , 来进行操作:
    但是 不安全

  • 根据 密钥的方式
    配置: 1> 把自己电脑上生成的 公钥 放到 对应的服务器上
    2> 客户端开 ssh 客户端程序, 把私钥 添加到ssh 客户端程序中

    验证: 是 采用 公钥 , 私钥 进行验证: 不用登陆, 但是过程大概相对比较长


如何在自己电脑上生成公钥,和私钥,配置ssh

进入.ssh文件夹
$ cd ~/.ssh
生成私钥&公钥
$ ssh-keygen -t rsa -C "xxx@126.com" 
注意:邮箱最好是 git.os 注册的网易邮箱
查看公钥内容,把公钥给服务器
$ cat oschina_rsa.pub
启动ssh客户端程序
$ eval "$(ssh-agent -s)"
给ssh客户端传递私钥
$ ssh-add ~/.ssh/oschina_rsa  
ssh验证服务器
$ ssh -T git@git.oschina.net

Welcome to Git@OSC, CPCoder! 代表成功了, 下次在命令行中可以直接 git命令了。 配置OK了
____

总结

学习的方法

  • 先知道原理
  • 什么场景下,怎么操作
  • 其次 才知道 哪些命令, 代表了什么操作
    ______

转载于:https://www.cnblogs.com/cpcoder/p/4314698.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值