GIT命令使用 => 网易云课堂大拿的课程
- GIT的作用 => 保存我们的代码.防止现在代码更改覆盖之前代码,造成无法回退. => 是利用数据仓库完成这一点的.
- pwd => 显示出路径
- git => 显示出GIT所有的命令
- git init => 初始化仓库
- ll -a => 显示文件夹.包括隐藏文件夹
- ll -a ./.git => 显示git文件夹里的内容
- touch one.txt => 创建一个one.txt文件夹
- git add one.txt
- git commit -m "这是一个描述性质的文件"
- git add one.txt
- git commit
- # 后面代表的是注释
- 或者可以是 git commit -m "这是一个描述性质的文件"
- git status => 显示git当前状态 . 如果一致的话,会显示 nothing to commit , working tree clean
- git re => 删除信息
- rm four.txt => 删除工作区的文件.
- git rm four.txt => 告诉暂存区删除一个文件的命令.(实际上暂存区保存的是一个动作.).之后再次使用commit告诉软件仓库
- 删除也是版本更迭.
- git log : 查看日志.查看所有日志.
- git reset --hard 609352982e4e9a170e4074c38a07d1af93d055c8 => 回滚版本
- 只要入了版本仓库,都已经保存好了.
- 细节还没有讲完.参看廖雪峰的日志.
- Github(公有) / bitbucket(私有)
GIT命令 => bilibili传智播客
01 使用Github
-
仓库(Repository)
- 仓库的意思.如果想在GitHub上开源一个项目,那就必须要新建一个Repository.
-
收藏(Star)
-
Fork (拉一份到我的GitHUb上)
-
发起请求(Pull Request)
- 请求修改代码并查看.
- 如果对方感觉还不错就会去合并
-
关注 (Watch)
- 类似于社交网站的Follow
-
事务卡片 (issue)
- 发现代码BUG,但是目前没有成型代码.需要讨论使用.
GIT命令 => 千锋
01. Git基本安装
- 在单人开发过程中,需要进行版本管理.以利于开发进度的控制
- 在多人开发过程中,不仅需要版本管理,还需要多人协同控制.
- git config --global user.name "sheel" => 设置用户名
- git config --global user.email "test@142.com" => 设置邮箱
- git config - i => 查看用户信息
- get version => 查看GIT版本
02. 架构 - 仓库基本使用
-
工作区(本地目录) | 暂存区(存储的是代码) | 版本仓库(包含了master分支)
-
git init => 新建一个仓库
-
git status => 查看当前的状态
- untracjed files => 未跟踪文件
-
git add . => 把当前工作区的所有文件都add一下.
-
git add commit -m "add two files" =>将暂存区文件存入分支,形成一个版本 -m ->添加信息具体描述
-
TortoiseGit
=> 可以显示文件的状态.是git的一个扩展工具.
03. 远程仓库详述 - 入门使用
- 每个人都有一个本地仓库 , 以及还有一个远程仓库.
- Github和码云是一个Git服务器.我们可以在git服务器上构建自己的远程仓库.
- git remote add orgin https://gitee.com/ilikedrinkwater/campus.git => 添加一个远程仓库.地址名称为orgin.
- git remote -v => 查看关联地址
- git push orgin master => 将orgin中的内容push到远程仓库.
- push到orgin中.从本地master中的内容.
04. 远程仓库-克隆-共享
- git clone https://gitee.com/ilikedrinkwater/first_learn_git.git => 克隆远程文件到本地
- git pull origin master => 将远程仓库origin中的内容克隆到本地仓库中来.
- 远程仓库的作用 : 一个人可以push上去.而另外一个可以pull下来.进行合并.
# 命令汇总
git remote add 远程仓库标识名(orgin) 远程地址 本地关联远程仓库.
git push 标识名 master 将本地仓库内容上传到远程仓库.
git pull 标识名 master 从远程仓库下载内容到本地仓库.
git clone 远程地址 将远程仓库复制到本地,并自动形成一个本地仓库.
05. 分支概述 - 基础操作
- 分支有多个提交点组成,分支上会有一个指针.默认指向于最新节点.
- 如果在一次节点更新中.如果有一些文件内容没有发生改变.则是指针指向于这个文件.这样做是为了节省内存空间
- git branch =>查看分支.
- 默认只有一个分支是master(主分支)
- 在商业项目的开发过程中.我们不会轻易的在master分支上做操作.
- 我们会新建一个开发用的分支 , 在此分支上做版本的记录
- 当代码确实没有问题时, 才会将开发分支上成熟的代码版本呢添加到master分支上
- 既保证开发过程中 , 可以及时记录版本 , 又保证master分支上每个提交点都是稳健版本
-
git branch dev => 创建一个dev的分支.
-
- 表示的是当前使用的分支.
-
-
git checkout dev => 切换分支
- 可再次使用 git branch dev 查看分支.
- 分支一旦切换,之前保存的文件都将会消失.
06. 分支细节提升
- 新分支创建出来之后,会和当前分支具有相同的内容.相同的更新内容.
- 每个分支都有一个指针 , 新建一个分支, 首先是新建一个指针.
- git log --oneline => 展示简易的日志
- git log => 显示更多的日志
07.分支的合并
-
快速合并
- git marge 分支a 合并到分支a. => 挪动指针.
- git marge 合并到分支a (要求是这个时候处在分支a下)
- fast-forward => 快速合并.
- 适用于的情况是一个分支不动,而另外一个分支的指针在发生变化.
- git marge 分支a 合并到分支a. => 挪动指针.
-
三方合并
- 形成的一个新的提交点.并且主分支的指针会挪动到新提交点.
- 三方合并指的是共同的父文件 / 被合并文件 / 合并文件
-
git log --oneline --graph
08.分支合并-冲突解决
- 两个文件都进行了文件修改 , 需要手动进行修复.=> 删除掉不需要的代码
IDEA
- 一般以功能模块为提交单位
- 差生冲突之后,需要手动进行保留.