GitHub日常使用手册



入门

首先当然是注册账号了,这个我就不说了,如果连账号都要教程那可就没完了…
现在,假设你已经有了一个GitHub账号了,现在你进入到自己的首页可以看到这样一张图片
这里写图片描述
当然,你可以选择read the guide来看一看这个GitHub到底是什么鬼,里边网页是英文的。如果你的英文不好我建议你还是先利用浏览器的翻译功能把它翻译成汉语,先大致浏览一遍有个印象,然后再就着英文看。或者直接在网上找找别人的教程,据我所知很多人直接把它翻译成了blog比如这篇蹩脚的翻译。。。不要学我自以为是的把它翻译一遍。。。效率太低了。
当然你也可以跳过这个步骤,直接看下边的教程。但是我不建议你这样做,因为官方文档写的很好。
好了,啰嗦了这么一大堆,开始进入正题吧!
进入了你的主页之后,你如果想创建一个自己的项目的话呢,你需要点击上图中右边的按钮Start a project,或者直接选择单击new respository都可以,之后你会进入项目资源创建的页面,下图详细描述了你接下来需要进行的步骤。
这里写图片描述
前边三条基本上没啥好说的,对于第四条的话,如果你勾选了它会给你自动创建一个readme.md文件(readme.md文件作用),第四条再往下是两个按钮,一个是Add .gitignore,选node。另一个是Add a license,选MIT license。(我也不知道为什么,你就先这样写上吧!想要详细了解的话看这里gitignore的作用license作用)打开该项目你可以看见下图
这里写图片描述
但是如果你没有勾选的话,会显示下边的结果
这里写图片描述
后边那个的话无非是让你先init一下,然后再remote add 添加一个远程库的标签其它好像也没什么特殊的地方了。。上边都有提示的按照提示一步步来基本没啥问题。好了不说这个。。
做这种网上协作项目呢,你得设置你的邮箱和用户名,这里最好是用global,代表全局的。后边就可以不用继续设置了。当然我之前设置过,然后现在已经忘了这个步骤具体是要放在哪一步,反正先写上。你们要是后边哪一步进行不下去了再来try try。具体代码看图。

这里写图片描述

这个主要是用来给自己打一个label,告诉别人,是的刚刚那个是我提交的东西,我的邮箱是xxx不服来找我呀。。。
还有三段代码,唔,我是没看懂的,但是据说也要敲上。作用自己Google。或者等我有空更新。

git config --global push.default matching
git config --global core.quotepath false
git config --global core.editor "vim"

好吧言归正传我们来写项目。。


1. clone and download

咱们这个项目是在网上建的对吧,所以呢,本地是没有这个东西的,所以我们需要——把它从网上弄下来。是的,copy一份不就好了嘛。怎么copy呢,GitHub上是有download按钮的,喏,长这样。。 ![这里写图片描述](https://github.com/wenchuyang/ImagesForMarkdown/blob/master/images/download.png?raw=true)

当然你可以更装13一点。。。我们用命令行git clone + 项目地址。(这个地址我用的是SSH地址,用https的…概不负责)
这里写图片描述
咦,报错了。。不要慌,第一次干这事嘛,怎么能这么容易呢。。咱们还没有钥匙呢,门怎么会这么容易打开。。
关于配置公钥私钥对其实这里是有一个详细教程的,但是我允许你忽略它,当然你也可以点进去
首先呢,我能肯定的是你现在并没有任何的钥匙。所以我们先要做的就是,创建钥匙。怎么创建呢,当然是用命令行了。
这里写图片描述
下边有输入的地方依次是密钥文件名、密码和确认密码。其实一般啥都不用输入一路默认下去就好了。。这一步结束之后你可以在你的home目录找到.ssh文件夹,里边会为你生成一个id_rsa文件和一个id_rsa.pub文件。id_rsa是私钥,.pub是公钥,公钥内容是要拷贝到github上的。
这里写图片描述

钥匙创建好了之后呢,我们要进行钥匙的匹配了,把公钥放到github上。github主页头像那里有个下拉列表,打开有一个setting,长这样。。

这里写图片描述

点进去。你将在左侧看见SSH and GPG keys,点进去就可以new SSH key 了。随便取个名字,然后把id_rsa.pub文件里边的内容复制粘贴到下方的内容里点击创建即可。
复制文件内容的话你可以选择直接用记事本打开复制,或者是用命令clip < ~/.ssh/id_rsa.pub将其复制到系统剪切板。或者你用命令cat ~/.ssh/id_rsa.pub打开文件然后再复制,怎么高兴怎么来

总之,你现在配好钥匙了,所以呢,可以去提交东西了。
附:对于GitHub一台机器只需要有一个钥匙就够了,所有的项目你都可以用这把钥匙来提交。当然,虚拟机不算同一台机器。
~/.ssh/ know_hosts-----如果上传过的话GitHub服务器的IP地址就会被存在这个文件里边。


2. 提交项目

提交嘛,你先把它copy下来,然后再改改里边的文件啥的,然后可不就要提交上去了呗。 提交分为三步 git add . git commit -m "此处添加备注信息" git push origin master ![实际操作效果图](https://github.com/wenchuyang/ImagesForMarkdown/blob/master/images/CU@TI6BLV%29%28Y65S%28Q5153L7.png?raw=true) 第一步里边git add 不要忘了后边的点,表示的是全部文件都提交上去,你也可以指定提交某一个文件,把点换成那个文件名就行了 。比如`git add wcy.md`这个意思添加到暂存区 第二步,备注信息里边写上你做了哪些修改之类的。。这一步是把你的工程添加到本地库 第三步,这一步如果没有钥匙是过不去的,因为这里是添加到远程库,即你的github上。 然后你就可以在你的github上看见你提交的东西了。。。

3. 预览

你现在在github上看见的只是你上传的代码文件,看不见效果的,如果你想看它在网页上的效果呢,你还需要做点工作... ![这里写图片描述](https://github.com/wenchuyang/ImagesForMarkdown/blob/master/images/@%5BY8TQ9SB6MRG%7B%7D1D4D%29N4T.png?raw=true) 找到setting,然后点开,往下翻,一直往下翻。。你可以看见GitHub Pages这个选项,然后如下选择master分支,save之后它会为你自动生成一个在线预览地址,点开链接就可以看见你的项目啦!这里我里边啥都没写所以就算了。。 ![这里写图片描述](https://github.com/wenchuyang/ImagesForMarkdown/blob/master/images/N732$C~OW6FGEMIFCQU_U9Q.png?raw=true)

4. 删除项目

编程的乐趣在于创造和毁灭......还是找到setting,一直往下翻,最底下有一个Danger Zone,直译是危险区,最下边有一个Delete this repository选项,点击之后会让你输入要删除的项目名称,然后还需要再次输入登录密码....然后你的项目就被delete了....

5. 放弃本地的修改

`git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态 `

感觉这么多基本自己弄个小项目是够用的,不过大概可能会遇见很多奇奇怪怪的问题,待我后续更新。


常见问题合集


1. 修改bash默认路径

这个主要是为了后续更方便,我们安装完git之后会带有git bash以及其它的东西,这里因为我只用过git bash并且好像有它就够了所以只提这个。我们打开git bash之后如果我没有记错的话它默认显示的应该是home目录,通常情况下我不爱把我的工程文件放在那里,所以我需要用cd换盘符。但我不能每次都这样啊,太麻烦了吧!所以呢,我需要修改它的默认路径。 右键图标,点击属性(我这是Win10,其它操作系统不很清楚具体位置不过应该差不多),进入如下界面。 ![这里写图片描述](https://github.com/wenchuyang/ImagesForMarkdown/blob/master/images/%25L%5DA%5B$%7D%5DP%257KZ1J$Q_0IOOB.png?raw=true) 目标里边的那个“--cd-to-home”删掉。起始位置里边的路径改为你需要的工作路径。%HOMEDRIVE%%HOMEPATH%是指当前用户当前路径。--cd-to-home应该是将路径指向到home(当前用户路径)。 OK,解决。 当然,你可以用另一个办法。 **~/.bashrc**——这是一个很牛逼的文件,它会在你每次进入git bash的时候自动运行里边的命令。也就是说,如果你在里边加上一行`cd ~/Desktop`的话,下一次进入git bash的时候它会先运行这一行命令,于是你就到桌面了。 所以你需要—— a. `touch ~/.bashrc`先创建文件 b. `start ~/.bashrc`选择编辑器打开这个文件,内容自己换。然后保存。重启git bash。 对于这个文件,还有一个很实用的操作——alias。 如果你在~/.bashrc里边加这样一行`alias w="echo 'wcy is a beautiful girl'"`,运行`source ~/.bashrc`,作用是执行~/.bashrc。然后运行`w`,你可以得到`wcy is a beautiful girl`。也就是说,如果你把`alias ga="git add"`加到~/.bashrc文件里边,你以后运行`git add`命令的话就只需要输入`ga`了。 记得运行`source ~/.bashrc`。

2. 将SSH密钥添加到ssh-agent

如果你的钥匙不好使,你可以试试这个方法。[具体操作及原理在这里。](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)主要就是下边两条命令: 1. 开始ssh-agent:`eval $(ssh-agent -s)` 2. 将你的私钥添加到ssh-agent:`ssh-add ~/.ssh/id_rsa`

3. 同步本地库与远程库

git pull对于多人协作开发的项目,修改代码之前你当然需要保持你的代码是最新的啊,所以本地修改之前最好是git pull一下,更新你的本地代码。那如果说我已经修改了之后才意识到这个问题呢?
如果远程有人改了这个项目,或者你自己在远程改过你的项目,然后你忘记了。继续在本地修改你的文件,后边提交会出现这个画面,提示你你需要pull一下
这里写图片描述

那就pull一下呗,但其实这个时候我们pull了之后得到的文件可能不是我们想象中的样子。因为git并没有智能到知道我们想要的是什么文件,但它是一个尽职的管家。它会把你在local修改的地方和别人在origin上修改的地方详细的标出来,然后让你自己选择,像这样:
这里写图片描述
你只需要把你不要的东西都删掉就行。。后边正常提交什么的,基本也没什么问题了。


4. 对分支的操作

实际使用的时候我们当然不会说只在master分支上进行操作,因为这样的话万一什么时候改了哪里出问题了就回退不了了。我们一般会加一些其它的分支,比如软件的发布通常会有正式版和测试版之类的,我们要在测试版测试通过之后才能正式投入使用,所以很多时候修改是不能直接放到master分支上去的。这里是对分支的一些操作。 ![这里写图片描述](https://github.com/wenchuyang/ImagesForMarkdown/blob/master/images/YM%28_5QLW%7D%5BQ4%281AD%28OL%7B8FG.png?raw=true) *这里还是想解释一下最后一条关于git push的,事实上,`git push`是一条命令,后边的origin代表的是远程库,dev是我们创建的dev分支,如果是要push到master分支上去的话把dev改成master。而且这个的话应该是第一次push到master上之后后边你不进行指定的话会默认为你push到master分支上,也就是说后边你可以直接用`git push`来代替`git push origin master`。* 事实上创建了分支到最后还是要进行分支合并的,我们需要先使用`git checkout master`切换到master分支上进行操作,然后再使用`git merge dev`将dev分支合并到master分支上。完成。

5. 查看当前文件状态

我们说过,`git add`是添加到暂存区,`git commit`是添加到本地库,`git push`是添加到远程库。通过使用`git status`命令可以查看当前项目的状态,比如你在运行了`git commit`之后再运行`git status`会得到下边的结果,告诉你你的本地分支比远程库的master分支多了一个commit,然后提醒你改将其push上去。 你可以使用`git status -sb`,-s是指summary,显示总结。-b是指branch,显示分支。-sb即显示总结和分支。 ![这里写图片描述](https://github.com/wenchuyang/ImagesForMarkdown/blob/master/images/5WUBV%5B3H801EG$EE~%25H429A.png?raw=true)

6. 查看历史

查看变更历史`git log` 查看历史操作`history`

7. 可能不是那么必要的操作......

![这里写图片描述](https://github.com/wenchuyang/ImagesForMarkdown/blob/master/images/@3NDLCW22FYU1_XLY0BYZ~C.jpg?raw=true) ![这里写图片描述](https://raw.githubusercontent.com/wenchuyang/ImagesForMarkdown/97b7a6f27b752b1d2dc435be4af5ac26b702a82d/images/77D8S%7D04ZUN~WH%252MOE9WRW.png) ![这里写图片描述](https://raw.githubusercontent.com/wenchuyang/ImagesForMarkdown/50d42ac2f403c7e58ef7fea7cb5c0aae91e981f3/images/EPX%60%5DWXNLBQ%28A%607U6P6G1SU.png) ![这里写图片描述](https://raw.githubusercontent.com/wenchuyang/ImagesForMarkdown/50d42ac2f403c7e58ef7fea7cb5c0aae91e981f3/images/H5RDZBOPI%7B_AK%5BP%60GM10H%7BM.png)
`touch .gitignore` 并在文件里边写上文件/文件夹的名称,这样git add的时候会忽略掉你写的这个文件/文件夹。
`git add -f xxx`强制添加xxx这个文件进git仓库,即使这个文件已经在被忽略的名单里,也会添加上。
`git rm xxx`在github仓库里移除文件xxx,同时会把源文件删掉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值