认识Git

认识Git

什么是分布式?

分布式可以说是相对于集中式而言。
集中式常指有一个中央的主机,工作都在中央主机上完成。如你要修改一个文件,你要先从主机上下载下来,修改完后传回服务器更新服务器的文件。
而分布式就是指去中心化,每个机器上都是一个主机。如同样的修改一个文件,每个主机上都存在了一个版本库,只需修改自己电脑上的文件,然后把最新版本的修改推送给其他人,就完成了更新。
分布式因为每个机器上都有完整的版本库,所以比起集中式来说数据丢失的可能性降低了很多,而且工作时对网络的需求也变小了。
因为多人协作时机器可能存在没联网或其他情况无法接收他人的推送,所以git为了方便推送,使用github来统一推送,个人把文件推送到github,然后其他人从github接受推送,这样就省略去了很多的过程。(也叫远程仓库)

仓库分几种?

  1. 本地仓库:建立在本地的文件夹。
  2. 远程仓库:建立在互联网的服务器内的文件夹。

版本控制系统分为几种?   

  • 分布式版本控制系统       
  1. 配有上述两个仓库,在你的电脑上有一个本地仓库,在远程的服务器上有一个远程仓库。       
  2. 我们在提交文件的时候会先提交到本地仓库,然后在有网络的情况下,再从本地仓库提交到网络上的远程仓库。       
  3. Git 就是一个典型的分布式版本控制系统  
  • 集中式版本控制系统       
  1. 只配有上述的远程仓库,当然如果你的这台电脑就充当远程服务器的角色,那远程仓库其实就在你这台电脑上。       
  2. 我们在提交文件的时候是直接提交到远程仓库。       
  3. SVN 就是一个典型的集中式版本控制系统

什么是 GitHub?

GitHub 就担任了上述的远程仓库这一角色,就是一个存放在外网服务器上的一个文件夹。

当然远程仓库除了 GitHub 之外,还有 Gitee(码云)。

 

Git使用时遇到的问题

unable to read askpass response from 'C:\Users\19770\.IntelliJIdea2019.1\system\tmp\intellij-git-askpass.bat'
bash: /dev/tty: No such device or address

原因:缺少用户认证信息。

网上查询的解决办法:在报错项目内,找到.git文件(若找不到,设置显示隐藏文件), .git 的 config 配置文件中的请求串中加入用户身份的认证信息。

url = https://[用户名]:[密码]@github.com/[用户名]/Project.git

 

使用以上方法报错不同了,但依然未解决问题。继续查询找到如下方法:

控制面板\用户帐户\凭据管理器\Windows凭据,找到git,填写gitlab的用户名、密码

确认无误后,idea通过git更新代码依然报错,经检查发现idea所在位置,有中文命名的文件夹,修改后可以正常更新。

 

若以上方法未解决问题,尝试命令行更新

命令行下载项目

 

posted @ 2019-12-02 16:36  WhatAreWords  阅读(254)  评论(0编辑  收藏  举报