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


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 本文介绍了解决github无法访问和克隆项目到本地的问题。作者建议通过修改配置文件中的用户名和密码来解决访问失败的问题,并提供了详细步骤。同时,还提醒读者注意输入的用户名和密码是否正确。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
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社区 版权所有