git的使用
一. 使用github的目的
借助github托管项目代码
二. github基本概念
Repository(仓库): 仓库用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库
Star(收藏): 收藏项目, 方便日后查看
Fork(复制): 把别人的仓库Z完完整整的复制一个到自己的账号下,同样名为Z
Pull request(提交更改) 自己对Z进行了改动后,希望与作者的Z进行合并,于是就pull给作者,作者会收到这一条消息,并决定是否合并
-
这种就表示作者合并了其它用户的提交
Watch(关注) 关注该项目,当该项目发生任何改动,自己都会收到通知
Issue(事务卡片) 发现别人的项目有代码BUG,但目前没有成型代码,你就可以提交一个issue给作者,
- 作者看到这些issues后,就可以和你进行交流,然后也可以close掉(提交问题的用户也可以close掉该issue)
Commits(提交次数) 每次提交新的文件,或修改文件,或删除文件, commit都会加1, 方便回滚操作
- commit里面记录了每一次修改的详细信息,可以Browse(浏览)每一个节点的该仓库的详情
- 删除某个文件后,若想要查看删除时提交的备注名与备注描述,则只能通过commit来查看
三. 下载安装git
git的目的: 管理github上托管的项目代码
git下载地址(windows): https://git-scm.com/download/win
安装:(其它步骤默认)
右击有以上两个功能说明安装成功
四. git
常用命令: 仓库级别, 系统级别
仓库级别优先级 > 系统级别
如果只有系统,则以系统级别为准, 如果两者都没有就报错
git config username "xxx" # 仓库级别命令, 仅用于标识身份
git config email "xxx@xxx.com" # 仓库级别命令, 仅用于标识身份
git config --global username "xxx" # 系统级别命令
git config --global core.autocrlf false # 解决文本换行符的问题,转载:https://blog.csdn.net/qq_34964399/article/details/79866498
git add 文件名 # 指定添加哪一个文件
git add . # 全部提交到缓存,git会自行检查哪些有增删改
git commit -m "本次修改的详细描述"
git push # 提交到在线仓库(需要该仓库作者的账号密码,否则就抛异常 ERROR: Permission to XXX.git denied to user )
git本地操作
1.git的工作区域:
- Git Repository(Git 仓库) : 最终确定的文件保存到仓库,成为一个新的版本,并对他人可见
- 暂存区: 暂存已经修改的文件最后统一提交到git仓库中
- 工作区(Working Directory): 添加,编辑,修改文件等动作
2.提交流程:工作区 -> 暂存区 -> 仓库
3.新建一个文件夹,右键git bash here
4. 首先设置用户名(和你的账户名一致)和邮箱(和github账户邮箱一致)
如果用户名和邮箱都乱输入的(其实github是依靠邮箱来确定用户的,一个邮箱只能注册一个用户,你只要知道了别人的邮箱地址,你也可以用git来往github仓库上push),那么提交后就是下面这种,不可点击的灰色状态
正确流程如下:
git config --global user.name "jzy33" git config --global user.email "zongyou.jiang@foxmail.com"
git config --list # 查看git的配置
5.再新建一个文件夹test01, 进入该文件夹, 打开git bash窗口, 敲下面命令(.git文件夹用来存放该仓库相关信息)
git init
6.提交流程
7.如果a.php有修改,应该怎么提交
8.删除仓库文件
git远程操作
1.首先应该远程clone别人的仓库到本地
git clone https://github.com/jzy33/001.git
2.修改仓库里面的内容,这里新建一个a.php文件, 然后和本地操作一样,先提交到暂存区,再添加描述,不过这里多了一个push操作,以同步到远程仓库
第一次push需要输入你克隆的仓库的作者的账号密码,如果该电脑已经登录过一次账号密码了,那就去windows凭据里把github的账号密码删了重新push
线上显示提交成功了
五 分支操作
如果线上有人改了文件a, 本地你也改了a,那么提交的时候就需要先在本地创建一个分支,再提交这个分支
git branch 分支名
git ush orgin 分支名
此外,如果只需要更新线上仓库到本地, 那么执行:(前提是本地并没有改动)
git pull (即先 git fetch origin 然后git merge origin/master,)
视频转载地址 https://www.bilibili.com/video/av10475153?from=search&seid=8196597164560917534
--- 君子处其实,不处其华;治其内,不治其外 张居正 ----