故事

01-Git入门 (配置) 以及git init、git add

2018-09-28  本文已影响49人  夜未央_M

人之所以喜欢追忆过往,主要因为时光无法倒流,一切的美好和不如意都成云烟,美好不能重复,遗憾无法弥补,所以当下时光千金不易,诸君共勉,只求了无遗憾。人生虽然不能重复,但GIT可以在我们人生中实现部分时光倒流效果,比如可以让程序员方便的保存代码的版本,并且能够快速的切换到指定的版本,如果新代码出现错误,可以再次回到过去,如同通关游戏,打到某个比较好的战绩可以保存一下,防止失败后,又要重新开始。

一.Git与GitHub的区别:

1.Git是一款软件,利用它可以对本机的文件进行版本管理。
2.GitHub是一个商业网站,可以作为一个Git服务器,通过web界面来进行一些Git执行操作。
可以认为Git与GitHub的关系就如同USB与USBHub的关系。


二.Git与GitHub配合使用:

Git可以与GitHub配合使用,以实现代码共享与合作开发,这也是为什么他两者会被混淆的原因之一。

三.配置Github:

  1. 进入 https://github.com/settings/keys
  2. 如果页面里已经有一些 key,就点「delete」按钮把这些 key 全删掉。如果没有,就往下看
  3. 点击 New SSH key,你需要输入 Title 和 Key,Titile意思是自己的设备备注名,比如你在家和公司用的是不同的电脑,为了区分你可以给他们的title写一下。如果你现在没有 key,请继续看下面的步骤。
  4. 打开 Git Bash (iterm2)
  5. 复制并运行 rm -rf ~/.ssh/* 把现有的 ssh key 都删掉,这句命令行如果你多打一个空格,可能就要重装系统了,建议复制运行。
  6. 运行 ssh-keygen -t rsa -b 4096 -C "你的邮箱",注意填写你的邮箱!
  7. 按回车继续,中间有一个需要输入y的地方,输入一下继续,然后再按三次,直到出现一堆泡泡状符号,表示成功。见下图。

    成功后会在home目下下的.ssh文件夹生成一些文件( 可以查看详细),其中包含 id_rsa 和 id_rsa_pub ,其中id_rsa就相当于你的指纹钥匙,id_rsa_pub就是相当于锁,我们需要做的就是要cat 一下这个id_rsa_pub文件,将其中的密匙上传到githubSSH keys / Add new页面中的Key栏里。
  1. 运行 cat ~/.ssh/id_rsa.pub,得到一串东西,完整的复制这串东西
  2. 回到上面第 3 步的页面,在 Title 输入「这里输入任意名字,通常为设备+地点比较好一些。例如 Imac_Commpany
  3. 在 Key 里粘贴刚刚你你复制的那串东西
  4. 点击 Add SSH key
  5. 回到 Git Bash (iterm2)
  6. 运行 ssh -T git@github.com,你可能会看到这样2种提示:1种是你第一次用你这个电脑的IP+密匙访问github,他会问你是否要连接,然后会有yes和no的选项。这里要输入yes,注意是yes,yes,yes,不是y,重要的事情说三遍,以便于自己能自己能记忆清楚。

(拓展: 其实电脑密匙+ip的访问记录都存储在了本地的 ~/.ssh/known_hosts文件中,如果我们把这个文件删除了,则会必然出现询问你第一次访问yes or no 的情况。删除命令为 rm ~/.ssh/known_hosts)


  1. 然后如果你看到 Permission denied (publickey). 就说明你失败了,请回到第 1 步重来,是的,回到第 1 步重来;如果你看到 Hi 某某某! You've successfully authenticated, but GitHub does not provide shell access. 就说明你成功了!

SSH key终于添加好了,想了解原理就看这篇 文章

配置 git

>git config --global user.自己的英文名    # 让别人知道你是谁
git config --global user.自己的邮箱     # 如果你写出了bug,这个邮箱就是别人来找到你来骂你的
git config --global push.default simple    # 本来是 matching,不过可能 simple 更好
git config --global core.quotepath false  #防止文件名变成数字
git config --global core.editor "vim"    # 使用vim编辑提交信息

五句话,依次运行。不执行的话,电脑可能会爆炸你信不信。


使用 git

使用 git 有三种方式,主要有:

  1. 只在本地使用
  2. 将本地仓库上传到 GitHub
  3. 下载 GitHub 上的仓库

我们先创建一个本地的空目录( ~ 指的是/User/mengkunpeng,~ 下的目录都是自己的文件,所以创建文件夹一定要创建在 ~ 的层级下),代码为

mkdir ~/git-demo-1



然后进入这个目录
然后进入这个目录
然后进入这个目录
然后进入这个目录
然后进入这个目录

cd ~/git-demo-1

如果你不进入这个目录,电脑会将你当前停留在的目录当做git仓库而将当前目录整个个上传到github

然后进行初始化

仓库初始化 git init

git init

我们创建一些文件

touch index.html

然后我们输入

git status -sb//这里来透露一下 git status -sb 是什么意思:git status 是用来显示当前的文件状态的,哪个文件变动了,方便你进行 git add 操作。-sb 选项的意思就是,SB都能看懂,哈,这是开玩笑,-s 的意思是显示总结(summary),-b 的意思是显示分支(branch),所以 -sb 的意思是显示总结和分支。

我们要经常使用这句来查看git仓库中各种文件的状态。
当我们执行这句git status -sb的时候,它就会帮我们列出当前git仓库的这些文件的状态:

  1. 刚创建的文件(非目录)会出现?? 意思是git不明白我们这几个文件将要执行什么操作。
  2. 已经add了的文件,就会变成一个绿色的A
  3. 如果里面包含空文件夹,则git status -sb会跳过空文件夹(熟视无睹)
  4. 还有文件修改了的话,执行这句话会出现靠右的M标记,如果我们将刚才修改的文件添加到add提交区,再次执git status -sb那么靠右的M标记就会变成靠左的M

mkdir css //创建css文件夹
touch css/style.css //在css文件夹内添加 style.css文件

添加文件到索引(暂存区) git add

git add index.html //将index.html添加到索引(暂存区)
git add css//将css文件夹及包含的所有文件添加到索引(暂存区)

git commit -m "第一次提交" //将添加到索引(暂存区)的文件提交到本地的git仓库,这样你想恢复的时候,它就可以从仓库里拿出来。

正式提交」到本地仓库 git commit -m

git commit -m 是将你 add 过的内容「正式提交」到本地仓库(.git就是本地仓库),并添加一些注释信息,方便日后查阅
你可以一个一个地 commit
git commit index.html -m '添加index.html'
git commit css/style.css -m "添加 css/style.css"
你也可以一次性 commit
git commit . -m "添加了几个文件"

history //查看我们刚才都做了什么

我们这里改一下文件,看下一系列的操作过程。

open css/style.css //打开style.css

打开后编辑,在里面写入body {corlor: red}
运行一下git status -sb查看状态,发现css文件有一个红色靠右的标记
这说明这个文件比上次已经有了改动,有了改动我们就要将它添加到索引,添加到索引(暂存区)的文件才可以提交(commit),所以我们执行

git add css// 再次将css及其内部文件提交到索引区

运行一下git status -sb//发现刚才的靠右的红色M变成了靠左的绿色M,表示文件已经添加到了索引区。


总结一下用到的命令

git init,初始化本地仓库 .git
git status -sb,显示当前所有文件的状态
git add 文件路径,用来将变动加到暂存区
git commit -m "信息",用来正式提交变动,提交至 .git 仓库
如果有新的变动,我们只需要依次执行 git add xxx 和 git commit -m 'xxx' 两个命令即可。
git log 查看变更历史

上一篇下一篇

猜你喜欢

热点阅读