Git 的使用和 GitHub 的使用
公司新来的小朋友,今天问我这个 git 怎么用,他之前没有用过,我就给讲了一下,他还是不太会用,哈哈哈,好吧,我就整理了一下,给他了,现在基本上就会用啦!所以, 就算你什么都不会,没有用过 GIt,按照以下的步骤一步一步来,保你全通。不接受反驳,哈哈哈哈!!
Git 的使用
1.1 Git 使用前的配置
在使用 git 之前,先要告诉 git ,你是谁:
- 配置提交人姓名:
git config --global user.name 'zhangsan'
- 配置提交人的邮箱:
git config --global user.email '123456789@qq.com'
- 查看刚刚提交的 git 配置信息:
git config --list
- 如果需要修改刚刚提交的配置信息,则只要重新按照以上3步即可;
1.2 提交步骤
- 在项目文件下,打开 git ,进行项目的初始化:
git init
- 初始化之后,查看当前的文件状态:
git status
- 将文件提交到暂存区,运行:
git add .
- 将这次提交的文字说明,上传,这一步是必须的:
git commit -m"这里就是你这次提交的代码实现了什么,自己做个标记"
- 如果你想查看你的提交记录,就是你敢刚刚提交了什么东西,运行:
git log
1.3 文件恢复到上一次提交之前的版本
- 执行完上述步骤之后,不要进行 push ,先让他在暂存区域进行保存,等到这个功能开发完成以后,你在将它提交到云端。
- 如果你发现你写的代码有问题,想要恢复到刚才提交之前的代码,例如:index.html 文件想要恢复到刚才写的代码,执行:
git checkout index.html
- 这个时候,暂存区还是有你刚才提交的 index.html 文件,这个时候,必须将他从暂存区中删除,执行:
git rm --cached index.html
- 执行完第三步骤,在此查看当前的状态,发现 index.html 没有被 git 追踪到,暂存区中就没有这个文件了,但是这个文件存在于咱们的文件当中。
- 加入现在总共提交了4个版本:A、B、C、D,想要恢复到 B 版本,那么 git 就会删除之钱提交的 C、D 两个版本,执行:
git log
就会出现之前提交的所有的版本信息,如下:
Administrator@PC-20181109BXXD MINGW64 ~/Desktop/training01 (master)
$ git log
commit a3d996a2da31e936f7f357874fdfe9be8f09aa43
Author: JerryMoster <478162059@qq.com>
Date: Thu Dec 26 09:38:43 2019 +0800
v1.1
commit 544e1424f6835be0f92710c209320ab6c5d52ab6
Author: JerryMoster <478162059@qq.com>
Date: Thu Dec 26 09:15:35 2019 +0800
v1.0
commit 272d8661505671ba6a2eab005c18ece6e7348db2
Author: JerryMoster <478162059@qq.com>
Date: Wed Dec 25 17:46:40 2019 +0800
video数据交互
紧接着就是你想要恢复到什么版本,就将他后面的那一串数字,复制,执行以下代码:git reset--hard 272d8661505671ba6a2eab005c18ece6e7348db2
**
注意:执行以后,你的代码就会恢复到这个版本,你的工作区域的文件夹中就会恢复到以前的版本,C、D
这两个版本就没有了,执行这一步的时候一定要注意!!!
**
2.1 分支的使用
- git 在初始化的时候,会自动创建 一个主线 master ,一般开发过程中,不在主分支 master 上提交,都是先创建分支,等分支的功能完成以后,没哟问题,就会将分支合到主分支 master 。
- 查看当前有的分支,执行:
git branch
- 创建分支 develop,执行:
git branch develop
- 切换到 develop 分支,这里一定要注意【在切换分支之前,一定要将之前的代码提交,否则就会出错,之前的文件就会跑到主分支 master 上面,这是不对的】:
git checkout develop
- 将分支进行合并到主分支 master :
git checkout master
,git merge develop
- 删除已经合并完成的分支 develop,删除之前一定要切换到主分支,不能再当前的分支上进行删除,执行:
git branch -d develop
删除分支,git 会判断当前的分支是否已经合并,合并的话,就会删除,没有合并的话,git 是不会删除的,这是 git
的保护机制,为了防止误删
7.如果说你就是不想要这个分支了,也不想合并,可以之执行强制删除,执行:git branch -D develop
2.2 暂时保存更改【要修改已经提交的代码】
场景:你现在正在开发新功能,领导发现你之前开发的功能中出现一个 bug ,需要你现在就开始修改,你现在的新功能还没有开发完成,还不想提交;
7. 存储临时改动: git stash
8. 将所有的改动,临时存储到剪切板上;【注意:在执行命令之前,一定要注意你在什么分支上】,执行这个命令之后,你会发现刚才写的代码,在文件家中找不到了,这是因为刚才的代码被提交到了剪切板上,所以不用担心了;
9. 等你修改完你要修改的功能之后,将你修改的代码确保上传之后,在回到刚才的分支,执行:git stash pop
10. 这样的话,就会将剪切板中的代码文件就会恢复到文件家中,你就可以继续操作啦!
GitHub 的使用
1.1 多人协同开发的流程【A是主要工程师】
- A 要创建本地仓库:
git init
- 紧接着就是创建远程仓库,就是在 GitHub 上面创建远程仓库;
- 紧接着在本地的终端执行一下代码:
git add . // 将所有的代码进行提交追踪
git status // 查看当前的代码的追踪情况
git commit -m“这里是提交的日志” // 为这次的提交作出说明,提交日志
git push https://github.com/JerryMoster/git-demo.gi master // 这里的地址是远程仓库的地址 后面的 master ,意思就是将 master 这个主线提交到仓库中。
4.以上步骤就将代码提交到了远程仓库,但是仓库的地址还是比较长的,所以现在的话,就是要将远程地址进行简化,执行:git remote add origin https://github.com/JerryMoster/git-demo.git
- 之后提交的时候,直接输入:
git push -u origin master
- 记下来在你提交的时候,就只需要输:
git push
1.2 其他人进行协作【B要克隆仓库 clone】
- 直接克隆远程仓库,执行:
git clone https://github.com/JerryMoster/git-demo.git
- 接下来 B 就可以进行操作代码。但是还不能想远程仓库提交;
- 这里需要 A 在GitHub 中邀请 B 加入操作,B 接收邀请,并将 A 发送过来哦的邀请链接,在 B Github 账号中直接在网址栏中打开,点击接收,然后直就能看到我们有的效果。具体步骤:
这样,B 就可以像远程仓库提交代码了。
1.3 拉取远程仓库中的代码【A 拉取远程仓库用 pull】
A 要拉取 B 修改的代码,放在 A 的本地仓库,接下来执行:git pull origin master
【注意:远程仓库的版本比本地仓库的版本高的话,必须先将远程仓库的代码 pull 到本地仓库,之后才可以将本地仓库提交到远程仓库】
1.4 解决冲突
多人操作,肯定会起冲突,例如:两个人修改了同一个文件的同一个地方,如果一个人先提交了远层仓库,那么第二人是提交不了远程仓库的,所以第二个人是要先将远层仓库 pull 到本地,解决了冲突之后,才能将代码提交到远程仓库中。
- 首先 B 要拉取远程仓库中的代码:
git pull
- 紧接着,你就会在 B 的代码中看到冲突,把没有用的全部去除掉,然后在进行想远程仓库中提交代码:
git push
1.5 公钥 ssh 的生成
ssh-keygen // 之后就是一路回车,
- 紧接着在本地电脑里面的 c 盘用户中就能就看到 ssh 中,打开 id_rsa,pub【这是公钥】,id_rsa【私钥,必须放在自己的电脑中】,
- 打开 GitHub ,鼠标移动到头像,点击 setting ,之后点击 ssh ,将刚才打开的公钥,全部复制到当前的 ssh 中。
1.6 对仓库进行描述
- 在本地文件夹下面,创建一个 readme.md 文件,里面写上对仓库的描述;
- 然后将代码重新提交之后,就可以啦!
- 刷新GitHub ,就可以看到如下图了: