热门标签 | 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 日常开发常用的命令,不要慌。


推荐阅读
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • 本文介绍了如何在GitHub上设置多个SSH Key,以解决原有Key失效的问题,并确保不同项目使用不同的私钥进行安全访问。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文介绍了如何利用ObjectMapper实现JSON与JavaBean之间的高效转换。ObjectMapper是Jackson库的核心组件,能够便捷地将Java对象序列化为JSON格式,并支持从JSON、XML以及文件等多种数据源反序列化为Java对象。此外,还探讨了在实际应用中如何优化转换性能,以提升系统整体效率。 ... [详细]
  • `chkconfig` 命令主要用于管理和查询系统服务在不同运行级别中的启动状态。该命令不仅能够更新服务的启动配置,还能检查特定服务的当前状态。通过 `chkconfig`,管理员可以轻松地控制服务在系统启动时的行为,确保关键服务正常运行,同时禁用不必要的服务以提高系统性能和安全性。本文将详细介绍 `chkconfig` 的各项参数及其使用方法,帮助读者更好地理解和应用这一强大的系统管理工具。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
  • Linux Shell变量初探:初始值解析与使用指南
    本文探讨了Linux Shell中变量的基本概念及其在BASH中的应用。变量是用于存储可变数据的标识符,能够代表不同的值。文章详细介绍了BASH shell的主要优势,包括强大的命令编辑能力、自动补全功能、命令别名设置、作业控制以及前后台任务管理。此外,还涵盖了编程脚本编写和通配符的使用方法,为初学者提供了全面的指导。 ... [详细]
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社区 版权所有