热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

你的文件需要git,详细安装与使用(一)

你的文件需要git,详细安装与使用(一)-theme:cyanosis你的文件需要git,详细安装与使用(一)鄙人又来对git进行扯犊子了,扯来扯去,还是git最好用,好

theme: cyanosis

你的文件需要 git,详细安装与使用(一)

鄙人又来对 git 进行扯犊子了,扯来扯去,还是 git 最好用,好像是的。

git 是什么?鄙人刚开始入门的时候也不知道是什么,只是听说程序员每天离不开这个神器的工具。

Git 是目前世界上最先进的分布式版本控制系统(没有之一)。

什么是多版本控制?方便的举个例子

比如,如果你用 word 或者其他写作工具,必然有过这样的经历:

  • 当初,我写毕设的时候,经常想删除一个段落,但是担心将来想恢复却又找不回来怎么办呢?于是,我就把当前文件文件备份一个新的 word 文件等其他文件,再接着改,改到一定程度,你就会发现,你文件夹中有很多文档,心中感慨:好像有点乱。手动滑稽...
  • 再者,协同方面,比如我们两个人分别写一些文档,如果文档经常改动,合并的时候会出现大问题,如果有一个工具或者软件能记录每次文件的改动,那岂不是在软件里瞅一眼就明白了?岂不是很方便?

此软件岂不是 git?大概分为三个平台安装一下 git,废话不多说,直接上菜

windows

  1. 官网
  2. 下载安装即可
  3. 终端测试git --version

Linux

  1. sudo apt-get install git 注意:这是 ubuntu
  2. yum install git 注意:这是 centos
  3. 终端测试git --version

mac

  1. mac 自带
  2. 可用终端查看where git

鄙人用了 mac 多年,就 mac 给大家上个图:

顺便提一下 Github

难道真不会有人不知道 Github 是什么吧?

全世界公认的代码仓库,渍渍,话都说到这个份子上了,我就不得不提鄙人的 Github 了,嘻嘻。

来吧,https://github.com/DreamCats

来吧,我丢,丧心病狂,打广告还放个图

好吧,鄙人挺无耻的,不慌,马上开始

官网:链接

进入官网点击右上角Sign up

  1. Username:你的 github 名字,也可以当作登陆账户
  2. Email address:你的邮箱,也可以当作登陆账户
  3. Password:登陆密码
  4. Email preferences:有什么社交信息,可以邮件通知,看情况
  5. Verify your account:以前没这个的,现在为了加强,搞了个验证,验证即可。

注册之后,登陆页面

  1. 右上角可以看到头像,点击一下有菜单栏
  2. 如上图所示,有你的个人主页、你的仓库等,下面还有你的设置
  3. 可以在设置里面,更改头像,名称,SSH 钥匙等

关联

关联?其实鄙人的意思是将本地的 git 关联到你的 github 仓库

在关联之前,说一下 Git 的配置文件塞

  • /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件;
  • ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件;
  • 当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量;

配置用户信息

当安装 git 后首先要做的事情是设置你的用户名和邮箱地址。这两条配置很重要,每次 git 提交时都会引用这两条信息,说明是谁提交了更新。

git config --global user.name "DreamCats"
git config --global user.email "xxx@xxx.com"

如果你希望在一个特定的项目中使用不同的名称或 e-mail 地址,你可以在该项目中运行该命令而不要--global选项。当然也可以去本地项目的.git/config中配置

查看配置

如果想查看自己的配置,可以使用git config命令。config 配置有 system 级别 global(用户级别) 和 local(当前仓库)三个 设置先从 system->global->local 底层配置会覆盖顶层配置 分别使用--system/global/local 可以定位到配置文件。

git config --system --list    # 查看系统配置
git config --global --list    # 查看当前用户配置
git config --local --list     # 查看当前仓库配置
git config --list             # 查看全部配置

单用户关联

终端输入:

ssh-keygen -t rsa -C "email@example.com"

三次会车即可生成 ssh key

这个时候,你要注意几个文件,然后执行对应的操作

  1. mac 或者 linux:在~/.ssh找到id_rsa.pub文件
  2. win:在c:\Users\Administrator\.ssh找到id_rsa.pub文件
  3. 打开之后,将其中的一串字符串拷贝
  4. 去 github 上,打开 settings 中找 SSH and GPG keys
  5. 然后在终端输入ssh -T git@github.com
  6. 终端则会输出Hi DreamCats! You've successfully authenticated, but GITHUB.COM does not provide shell access.

多用户关联

当有多个 git 账号时,比如:

  • 一个 gitlab,用于公司内部的工作开发;
  • 一个 github,用于自己进行一些开发活动
  1. 分别为每个 git 账号生成 SHH-Key
ssh-keygen -t rsa -C 'xxxxxx@gmail.com' -f ~/.ssh/gitlab_id_rsa
ssh-keygen -t rsa -C 'xxx@gmail.com' -f ~/.ssh/github_id_rsa
  1. 在 ~/.ssh 目录下新建一个 config 文件,添加如下内容(其中 Host 和 HostName 填写 git 服务器的域名,IdentityFile 指定私钥的路径)
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
  1. 用 ssh 命令分别测试,前提是将 pub 的文件粘贴到对应的 gitlab 或者 github 账户下的 SSH 密钥中,提示:github 和 gitlab 的设置栏有
ssh -T git@gitlab.com
ssh -T git@github.com
  1. 结果分别如下
Hi DreamCats! You've successfully authenticated, but GITEE.COM does not provide shell access.
Hi DreamCats! You've successfully authenticated, but GITHUB.COM does not provide shell access.

注意:修改 push 的地址,默认情况下,我们的项目下的.git 目录下,config 的文件的内容

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true

[user]
    email = xxxx@gmail.com
    name = Dreamcats
[remote "origin"]
    url = git@github.com:DreamCats/JavaBooks.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

此时 push 就没有问题

github-page

可能,大家都有写博客的心,但又不想购买服务器,无法使得自己的博客在任何地方都可以访问,于是乎,github-page 就来了...

创建

官网:官网注册,我丢,没内容了嘛?怎么又写一遍

  1. 在主页上 new 一个 repository

  1. 每个账户只能创建一个 github.io 上图所示代表我已经创建
  2. 注意用户名和初始化 README
  3. 此时就可以访问https://dreamcats.github.io/

结束撒花

你以为就结束了?怎么可能,我的心还在呢?还想多给大家分享分享呢...

git 的安装与使用基本没有什么问题,那么我们是不是要简单学习一下它的命令?不能光听着牛逼,而不去使用它哇,不是有一句话?君子善假于物也?

要想自己效率翻倍,前提是衡量一下哪些工具的性价比较高:学习成本,带来收益,像刷牙一样的日用品

没事,我会在摸鱼的阶段为大家分享关于 git 日常开发常用的命令,不要慌。


推荐阅读
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
author-avatar
益达怡君33
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有