Git工具使用随记
阅读前请先阅读文末注意事项,谢谢!
git课程笔记:
一:基本概念:
1.1 gitHub目的:
借助github托管项目代码。
1、仓库(Repository):
仓库的意思,即你的项目,你想在GitHub上开源一个项目,那就必须要新建一个Repository,
如果你开源的项目多了,你就拥有了多个Repository
简言之:仓库用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库。
2、收藏(Star):
仓库主页star按钮,意思为收藏项目的人数,在GitHub上如果你有一个项目获得100个star都算很不容易了!
简言之:收藏项目,方便下次查看。
3、复制克隆项目(Fork):
分叉,你开源了一个项目,别人想在你这个项目的基础上做一些改进,然后应用到自己的项目中,
这个时候他就尅fork你的项目(打开项目主页点击右上角的fork按钮即可),
然后他的GitHub项目上就多了一个项目,只不过这个项目是基于你的项目基础
(本质上是在你原有的项目的基础上新建了一个分支),他就可以随心所欲的去改进,但是丝毫不会影响原有项目的代码与结构。
简言之:脚下留心:该fork的项目时独立存在的。
4、发起请求(Pull Request):
发起请求,这个其实是基于Fork的,还是上面那个例子,如果别人在你基础上做了改进,
后来觉得改进的不错,应该要把这些改进让更多人受益,于是就想把自己的改进合并到原来的项目里,这个时候也就可以发起一个pull
Request(简称PR),原有项目创建人,也就是你,就可以收到这个请求,这个时候你会仔细review他的代码,
并且测试解决的ok了,就会接受它的PR,这个时候他做的改进原有项目就会拥有了。
5、关注(Watch):
这个也好理解就是观察,如果你watch了某个项目,那么以后只要这个项目有任何的更新,你都会第一时间收到关于这个项目的通知提醒。
简言之:关注项目,当项目更新可以接受到信息
6、事物卡片(Lssue):
发现代码Bug,但是目前没有成型代码,需要讨论时用,
问题的意思,举个例子,就是你开源了一个项目,别人发现你的项目中有bug,或者哪些地方做的不够好,
他就可以给你提一个(Lssue),即问题,提的问题多了,也就是Lssues,然后你看到了这些问题就可以去逐个修复,
修复ok了就可以一个个的close掉。
简言之:发现Gug,但是没有成型的代码,可以讨论时用
7、Github主页:
账号创建成功前点击网址导航栏github图标都可进入github主页,该页左侧主要显示
用户动态以及关注用户或关注仓库的动态,右侧显示所有的git库。
8、仓库主页:
仓库主页主要显示项目的信息,如:项目代码、版本、收藏/关注/fork情况等。
9:个人主页:
个人信息、头像、个人简历、关注我的人、我关注的人、我关注的git库、我的开源项目、我贡献的开源项目等信息。
1.2 注册github账号
官网账号:Github.com
账号:
密码:
邮箱:
脚下留心:
1:因为github在国外服务器所以访问较慢或者无法访问,需要翻墙。(Shadowsocks)
2:私有仓库只能自己或者指定的朋友才有权限操作(私有仓库是收费的)
3:新注册的用户必须验证邮箱后才可以创建git库。
1.3 创建仓库或创建项目:
1:qq邮箱需要设置白名单才可以收到邮件
说明:
一个git库(仓库)对应一个开源项目
通过git管理git库
1.4:仓库管理
新建仓库文件:
create new file(创建文件)
编辑文件:
点击文件名,到文件详情页可以做删除和修改操作。
点击描述,可以查看该文件提交详细信息。
删除文件:
点击文件名,进入文件详情页。
右侧删除文件。
思考被删除文件如何进入详情页查看:点commits—>找到文件->点击文件名查看详情页
上传文件:可以点击选择文件或者拖拽文件进行上传。
(注:一次可以上传多个文件)
搜索仓库文件:
findFile,输入文件名称进行搜索
快捷键(T)
下载/检出项目:
clone/Dowload
1.5 Github Issues:
作用:发现bug,但是目前没有成型代码,需要讨论时用,或者使用开源项目出现问题时使用。
情景:张三发现李四开源git库,张三提交了一个issue,李四隔天登录在github上看到并和张三交流,最后关闭了issue
1.6 基本概念:(实战操作)
Github主页:(点击小猫进入)
左侧:自己动态以及关注仓库的动态
右侧:所有仓库
注:未登录,点击小猫回到网站主页。
仓库主页
个人主页:
①:点击左上角用户名
②:点击右上角下箭头->your profile
个人主页显示:头像、用户名、加入时间、关注的项目、关注的用户、仓库等信息。
仓库:用来存放开源代码。一个仓库存放一个开源代码
收藏:
git1感觉git2的test仓库不错,所以点击收藏
打开项目主页就可以进行收藏了。
点击右上角头像下的下拉箭头->your star ->点击即可查看到你的收藏列表
关注(Watch)
情景:张三关注了李四的项目,李四添加项目文件,张三的github主页会又怎样的展示呢?
git1关注git2 test仓库动态
Watch下拉->Watching(关注)->UnWatch(不关注)
因为git1关注了git2的仓库,所以会显示该动态、
复制克隆项目:
git1 fork了 git2的仓库后,会自己生成一个 一模一样的仓库(复制/克隆)
验证:是否单独存在
git1复制/克隆过git2的项目之后,git2再新创建一个项目,对git1项目没有影响。
发起请求(Pull Request)
情景:张三修改了fork的项目中的文件,希望更新到原来的仓库,这时他要建一个pull request
可以点击Pull requests/New pull request/Pull request 发起请求
Git1发起一个更新请求
Git2进行查看
Commits 提交了多少次
Files changed 修改了哪些文件
Merge pull request 是否合并->确定->合并成功
1.7 开源项目贡献流程:
1)新建Issue
提交试用问题或者建议或者想法
2)Pull Request
步骤:
1、fork项目
2、修改自己仓库的项目代码
3、新建pull request
4、等待作者操作审核
二、Git安装和使用
2.1:目的:
通过git管理github托管项目代码
1)Git官网下载:下载网址:https://www.git-scm.com/dowload/win
2)双击安装
下载安装
检验是否安装成功:如果桌面点击右键,出现两个git值则安装成功。
2.2 Git工作区域:
Git Repository(Git仓库): 最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见
暂存区: 暂存已经修改的文件最后统一提交到git仓库中
工作区(Working Directory): 添加、编辑、修改文件等动作
git命令:
git status:看文件当前状态(看他是在工作区还是暂存区)
git add hello.php
git add test.php 将文件从工作区提交到暂存区
文件确认无误:
git status
git commit -m “提交描述” :将文件从暂存区提交到git仓库
git status
2.3 Git初始化及仓库创建和操作:
基本信息设置:
①:设置用户名:
git config –global user.name ‘itcast’
itcast 为用户名
②:设置用户名邮箱:
git config –global user.name ‘[email protected]’
[email protected] 邮箱
步骤:
1:新建文件夹 -> 右键:Git Bash Here ->
黑框输入基本linux命令:
ls 查看当前文件
pwd 查看当前目录文件
clear 清除
输入
git config –global user.name ‘itcast’
git config –global user.email ‘[email protected]’
进行初始化
注意:该设置在github仓库主页显示谁提交的该文件
初始化一个新的Git仓库:
①:创建文件夹 (mkdir test)
创建一个名为test的文件夹
②:在文件内初始化git(创建git仓库)
cd test 进入test文件
pwd 查看是否进入test文件
git init 在此目录下生成一个隐藏的.git文件,用来存储仓库所有信息的
(如果看不见,则设置电脑显示隐藏文件)
向仓库添加文件:
三步:
①:有一个文件
②:把文件从工作区添加到暂存区
③:把文件从暂存区添加到Git仓库
也可以:
1:创建文件
touch a1.php 在test中创建一个a1.php文件
rm a1.php 先删除a1.php
git status:
显示On branch master
Initial commit
nothing to commit(create/copy files and use “git add” to track)
touch a1.php 在test中创建一个a1.php文件
git status:
显示On branch master
Initial commit
Untracked files:
(use “git add …” to include in what will be committed)
a1.php
nothing added to commit but untracked files present(use “git add” to track)
2:添加到暂存区域
git add a1.php:将a1.php添加从工作区域提交到暂存区域
git status:
显示On branch master
Initial commit
Changes to be committed:
(use “git rm –Cached …” to unstage)
new file:a1.php
(表示已经到暂存区域了)
3:将文件从暂存区添加到仓库:
git commit -m “add a1.php”
显示git commit -m “add a1.php”
[master (root-commit) 099ef24] add a1.php
1 file changed,0 insertions(+),0 deletions(-)
create mode 100644 a1.php
git status
显示On branch master
nothing to commit,working directory clean
(表示提交Git库成功)
修改仓库文件:
ls
显示a1.php
git status
显示On branch master
nothing to commit,working directory clean
1:修改文件
vim a1.php
进入写入1111
查看状态:
git status
显示On branch master
Changes not staged for commit:
(use “git add…” to update what will be committed)
(use “git checkout “”…”to discard changes in working directory)
modified a1.php
no changes added to commit(use “git add” and/or)”git commit -a”)
(提示modified修改过a1.php了,并提醒要通过add命令添加到暂存去)
2:添加到暂存区
git add a1.php
git status:
显示绿色的modefied:a1.php
(表示文件已经从工作区提交到了暂存区)
3:将文件从暂存区添加到Git仓库
git commit -m ‘第一次通过git修改文件并提交到仓库’
git status
On branch master
nothing to commit,working directory clean
(表示文件提交到Git仓库成功)
删除仓库文件
1:删除a1.php文件
rm -rf a1.php 将a1.php文件删除
2:删除暂存区的文件
git rm a1.php
3:删除仓库中的文件
git commit -m ‘第一次通过git删除仓库中文件’
git status
显示On branch master
nothing to commit,working directory clean
以上为git本地仓库
2.4 Git管理远程仓库
使用远程仓库的目的:
作用:备份,实现代码共享集中化管理
如何将 本地仓库同步到git远程仓库中:
git push:将本地仓库提交到远程
Git克隆操作:
目的:将远程仓库(Github对应的项目)复制到本地
克隆:
git clone 仓库地址
仓库地址由来:clone or download下面的地址copy
git config –list 查看初始化配置(初始化配置一次就不用配置了)
git clone https://github.com/itcastphpgit1/test.git
显示Cloning into “test”…
…done
vi a1.php
写入123
wq 保存
git add a1.php
git coommmit -m ‘第二次通过git提交到仓库’
git status
显示On branch master
Your branch is ahead of ‘origin/master’ by 1 commit,
(use “git push” to publish your local commits)
nothing to commit,working directory clean
git push
将本地仓库同步到git远程仓库中
touch a2.php
git add a2.php
git commit -m ‘第三次通过git 提交到仓库’
git push
思考:为什么无法同步:
或没有权限
The requested URL returned error:403 Forbidden while accessing
解决git push错误:
The requested URL returned error:403 Forbidden while accessing
答案:私有项目,没有权限,输入用户名密码,或者远程地址采用这种类型:
vi .git/config
将
[remote “origin”]
url=https://github.com/用户名/仓库名.git
修改为:
[remote “origin”]
url=https://用户名:密码@github.com/用户名/仓库名.git
2.5 Github Pages搭建网站
个人站点
访问
https://用户名.github.io
搭建步骤:
1)创建个人站点->新建仓库(注:仓库名必须是 用户名.github.io)
2)在仓库下新建index.html文件即可
github主页,右下角Create a new repository
Repository name:itcastphpgit1.github.io
Description:个人博客
勾选:initialize this repository with a README
完成Creating repository
访问https://itcastphpgit1.github.io->404
返回个人博客->creating file…->新建文件index.html->写入hello itcast , initial commit:init
重新刷新,访问https://itcastphpgit1.github.io/index.html
注意:
1:github pages仅支持静态网页
2:仓库里面只能是.html文件
Project Pages项目站点
访问:通过https://用户名.github.io/仓库名 来访问
搭建步骤:
1:进入项目主页,点击settings
2:在setting页面,点击Launch automatic page generator来自动生成主题页面
3:新建站点基础信息名称
4:选择主题
5:生成网页
总结:
1.1 什么是Git:
Git是一个免费、开源的版本控制软件
1.2 什么是版本控制系统
版本控制是一种记录一个或者若干个文件内容变化,以便将来查阅特定版本修订情况的系统
系统具体功能:
记录文件的所有历史变化
随时可恢复到任何一个历史状态
多人协作开发或修改
错误修复
1.3 什么是Github
Github是全球最大的社交编程及代码托管网站(https://github.com)
1.4 Github和Git是什么关系
Git是版本控制软件
Github是项目代码托管的平台,借助git来管理项目代码
1.5 为什么学习github?
学习优秀的开源项目
关注行业前辈了解最新的行业状态
附相关图片:
注意事项:
笔记写的有点乱
我对Git的理解,其实Git仅仅是一个工具,可以在上面发布自己的代码,可以查看下载别人的代码,并且可以进行修改。修改完成后可以提交给原来的开发者,开发者查看后可以选择同意或者不同意对源代码的修改。同意则将修改的代码添加到源代码上,不同意则源代码保持不变。Git工具的作用就是致力于完善系统,从而共同学习、共同开发出更好更完备的软件。
此篇为个人笔记,大家学习Git可以根据网页搜索Git的用法,或者直接下载使用。在实践中掌握Git工具。