你的文件需要 git,详细安装与使用
鄙人又来对 git 进行扯犊子了,扯来扯去,还是 git 最好用,好像是的。
git 是什么?鄙人刚开始入门的时候也不知道是什么,只是听说程序员每天离不开这个神器的工具。
Git 是目前世界上最先进的分布式版本控制系统(没有之一)。
什么是多版本控制?方便的举个例子
比如,如果你用 word 或者其他写作工具,必然有过这样的经历:
- 当初,我写毕设的时候,经常想删除一个段落,但是担心将来想恢复却又找不回来怎么办呢?于是,我就把当前文件文件备份一个新的 word 文件等其他文件,再接着改,改到一定程度,你就会发现,你文件夹中有很多文档,心中感慨:好像有点乱。手动滑稽...
- 再者,协同方面,比如我们两个人分别写一些文档,如果文档经常改动,合并的时候会出现大问题,如果有一个工具或者软件能记录每次文件的改动,那岂不是在软件里瞅一眼就明白了?岂不是很方便?
此软件岂不是 git?大概分为三个平台安装一下 git,废话不多说,直接上菜
windows
- 官网
- 下载安装即可
- 终端测试
git --version
Linux
sudo apt-get install git
注意:这是 ubuntuyum install git
注意:这是 centos- 终端测试
git --version
mac
- mac 自带
- 可用终端查看
where git
鄙人用了 mac 多年,就 mac 给大家上个图:
顺便提一下 Github
难道真不会有人不知道 Github 是什么吧?
全世界公认的代码仓库,渍渍,话都说到这个份子上了,我就不得不提鄙人的 Github 了,嘻嘻。
来吧,https://github.com/DreamCats
来吧,我丢,丧心病狂,打广告还放个图
好吧,鄙人挺无耻的,不慌,马上开始
官网:链接
进入官网点击右上角Sign up
- Username:你的 github 名字,也可以当作登陆账户
- Email address:你的邮箱,也可以当作登陆账户
- Password:登陆密码
- Email preferences:有什么社交信息,可以邮件通知,看情况
- Verify your account:以前没这个的,现在为了加强,搞了个验证,验证即可。
注册之后,登陆页面
- 右上角可以看到头像,点击一下有菜单栏
- 如上图所示,有你的个人主页、你的仓库等,下面还有你的设置
- 可以在设置里面,更改头像,名称,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
这个时候,你要注意几个文件,然后执行对应的操作
- mac 或者 linux:在
~/.ssh
找到id_rsa.pub
文件 - win:在
c:\Users\Administrator\.ssh
找到id_rsa.pub
文件 - 打开之后,将其中的一串字符串拷贝
- 去 github 上,打开 settings 中找 SSH and GPG keys
- 然后在终端输入
ssh -T git@github.com
- 终端则会输出
Hi DreamCats! You've successfully authenticated, but GITHUB.COM does not provide shell access.
多用户关联
当有多个 git 账号时,比如:
- 一个 gitlab,用于公司内部的工作开发;
- 一个 github,用于自己进行一些开发活动
- 分别为每个 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
- 在 ~/.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
- 用 ssh 命令分别测试,前提是将 pub 的文件粘贴到对应的 gitlab 或者 github 账户下的 SSH 密钥中,提示:github 和 gitlab 的设置栏有
ssh -T git@gitlab.com
ssh -T git@github.com
- 结果分别如下
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 就来了...
创建
官网:官网注册,我丢,没内容了嘛?怎么又写一遍
- 在主页上 new 一个 repository
- 每个账户只能创建一个 github.io 上图所示代表我已经创建
- 注意用户名和初始化 README
- 此时就可以访问
https://dreamcats.github.io/
结束撒花
你以为就结束了?怎么可能,我的心还在呢?还想多给大家分享分享呢...
git 的安装与使用基本没有什么问题,那么我们是不是要简单学习一下它的命令?不能光听着牛逼,而不去使用它哇,不是有一句话?君子善假于物也?
要想自己效率翻倍,前提是衡量一下哪些工具的性价比较高:学习成本,带来收益,像刷牙一样的日用品
没事,我会在摸鱼的阶段为大家分享关于 git 日常开发常用的命令,不要慌。