赞
踩
仓库(Repository)
用来存放项目代码,一个项目一个仓库,多个项目多个仓库
收藏(Star)
收藏项目,方便下次查看
克隆项目(Fork)
就是别人仓库中的代码完整的拷贝一份到自己的仓库中,并显示是从哪里拷贝来的
该fork的项目是独立存在的
发起请求(Pull Request)
从别人那fork一个项目,并对该项目进行更改以后,可以发起请求,原项目作者便能看到,如果觉得不错,则将他合并到自己的原仓库中。
关注(Watch)
关注以后,该项目由任何的更新,会向你发送该通知提醒
事物卡片(Issue)
当发现他人代码bug,可以给他们提出一个issue,项目作者便可以看到并一个个进行修复
git是目前世界上最先进的分布式版本控制系统
git是一个分布式版本控制系统,简单的说其实就是一个软件,用于记录一个或若干个文件内容变化,以便将来查询特定版本修订情况的软件。
**
**是一个为用户提供git服务的网站,简单的说可以方代码的地方(不过可以放的当然不仅是代码),github出了提供管理git的web界面外,还提供了订阅,关注,讨论组,在心白鸡等丰富的功能,github被称之为全球最大的基友网站
什么是仓库?仓库又名版本库,我们可以理解成是一个目录,用于存放代码,这个目录里面的所有文件都可以被git管理起来,每个文件的修改,删除等操作都被git跟踪到
查看配置是否成功
$ git config --global user.name
$ git config --global user.email
当我们需要染ggit去管理某个新项目/已存在的项目的时候,就需要创建仓库。
注意:尽量避免使用包含中文的目录名
步骤
查看当前状态:git status
添加到缓存区:git add 文件名
说明:git add指令,可以添加一个文件,也可以添加多个文件
语法1:git add 文件名
语法2: git add 文件名1 文件名2 文件名3…
语法2:git add . [添加当前目录到缓存区中]
示例:
提交到版本刻苦: git commit -m “注释内容”
说明:注释可以写中文
版本回退分为两个步骤
1)查看版本,确定要回退的时间点
指令1: git log
指令2: git log --pretty=online(推荐使用)
2)回退操作
指令: git reset --hard 提交编号
案例:
问题:回到过去之后,要想再回到之前最新的版本的时候,则需要使用指令去查看历史操作,以得到最新的commit id
指令: git reflog可以查看未来的commid id
小结:
在github中创建一个仓库
注意:仓库名要求在当前账号下唯一
步骤:
1)创建空目录,名称为shop
2)使用clone指令克隆线上仓库到本地
语法: git clone 线上仓库地址
线上仓库地址
示例:
3)在仓库上做对应的操作(提交暂存区,提交到本地仓库,提交到线上仓库,拉取到线上仓库)
该方式与前面https方式相比,只是影响github对于用户的身份鉴权方式,对于git的具体操作(如提交本地,提交远程等)没有任何影响
生成公私钥指令(需要自行安装OpenSSh):ssh-keygen -t rsa -C “注册邮箱”
步骤:
1)生成客户端公私钥文件
2)将公钥上传到github
3)执行后续先前的操作,指令同上
在版本回退的章节里,每次提交后都会有记录,Git 把它们串成时间线,形成类似于时
间轴的东西,这个时间轴就是一个分支,我们称之为master分支。.
在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满足多人同时
开发的需求的,并且在分支上工作并不影响其他分支的正常使用,会更加安全,Git 鼓励开
发者使用分支去完成一些开发任务。
问题发生的情景:a,b拉取了远程仓库中的版本,a进行修改后上传到了远程仓库,b进行修改项目,b要上传到远程仓库的时候就会发生版本冲突。
情况一:a,b 修改了同一份文件的代码
解决思路:错误消息提示你先执行git pull 命令
此时的readme文件,然后和小红进行商讨代码的保留问题,去除掉那些无用信息,重新提交
情况二:a,b没有修改同一个文件的代码
只需要重新git pull,然后重新进行提交即可
场景:在项目目录下哟荤多万年不变的文件目录,例如css,js,images等,或者还有一些目录即便有改动,我们也不想让其提交到远程仓库的文档,此时我们可以使用“忽略文件”机制来实现需求
忽略文件需要创建一个名为.gitignore的文件,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及子目录生效。
注意:该文件因为没有文件名,没办法直接在windews目永下直接创建。可以通过命令行Git Bash来touch创建。
案例:
1)新建js文件上传到远程仓库
2)创建.gitignore文件,并写过滤js文件
3)在js中新增文件,并重新提交到远程残酷
会发现js文件夹并未更新,操作成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。