4

你的文件需要 git,保姆级别的搭建与使用(一)

 2 years ago
source link: https://segmentfault.com/a/1190000040741797
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

UmUvo3-C0cFpb

鄙人又来对 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
  1. mac 自带
  2. 可用终端查看where git

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

sAWgeg-BPDqQb

顺便提一下 Github

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

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

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

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

Zt6eBg-x754eP

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

官网:链接

进入官网点击右上角Sign up

27MLlW-Hay6mW

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

注册之后,登陆页面

cyTBxY-P85b0n

  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 "[email protected]"

如果你希望在一个特定的项目中使用不同的名称或 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 protected]"

三次会车即可生成 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
    R5MX7c-7Ow4m1
  5. 然后在终端输入ssh -T [email protected]
  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 '[email protected]' -f ~/.ssh/gitlab_id_rsa
ssh-keygen -t rsa -C '[email protected]' -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 [email protected]
ssh -T [email protected]
  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 = [email protected]
    name = Dreamcats
[remote "origin"]
    url = [email protected]: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

OEmxkV-s56QHH

BS4P4D-CF1BaK

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

yP9Ab8-8zLUif

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

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

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK