Git仓库的工作分区
工作区到暂存区的操作
git init :在当前文件夹创建一个文档库,自动产生一个master分支。当当前文件夹已有文档库时,不会再次创建也不会修改,只会将隐藏的.git文件夹显示出来
添加到暂存区
$ git add . all *(文件名,.号为全部)//添加到暂存区
查看暂存区的内容
$ git status //查看暂存区的内容
从暂存区撤回
git reset HEAD -- 文件名
暂存区到历史区的操作
暂存区的数据到历史区必须提交对应的信息(用户名及邮箱)
git config user.name 名 --global git config user.email 邮箱号 --global
$ git remote add origin 
绑定仓库地址 到这里会提示你输入账号密码,这里的账号密码就是你远程仓库的登录密码
 
提交对应的暂存区文件到历史区 (暂存区就没有了)
git commit 文件名
提交简化写法 不需要进vi
git commit 文件名 -m 备注信息
全部提交
git commit .
vi编辑器 三种模式
阅读模式 (不能编辑的 插入模式返回阅读模式 按esc)
插入模式 按i 都能进行对应的插入模式(就可以进行编辑)
命令行模式 (按对应的: 进入命令行 后面接的是对应的指令 wq 保存并退出)
 
查看版本库的信息
git log
 
 
历史区数据是不能撤回的 但是它可以回滚数据来影响对应的暂存区和工作区
 
git分支管理
分支的增删查改
git branch:查看当前所有分支
git branch 要创建的分支名称: 从最新的commit创建一个新的分支
git branch -m 新的分支名称:将当前分支名称修改为新的分支名称
git branch -d 分支名称:删除分支。如果存在未合并的内容,会报错
git branch -D 分支名称: 强制删除分支
 
切换分支 
git checkout 分支名称:切换分支
git checkout -b 新分支名称:创建新的分支后自动切换到该分支。相当于先执行git branch 再执行git checkout
git checkout -b 新分支名称 commit 节点标识符或标签:从指定节点创建新的分支后自动切换到该分支
合并分支
方法一
git merge 分支名称A:将分支名称A合并到当前工作的分支
git merge --no-ff 分支名称:合并时留下合并记录。
git merge --abort:合并过程中发成冲突时,使用此命令可以放弃合并。git 文档库和文件夹的内容都会恢复到未合并前的状态
方法二 
git rebase 分支名称A:将当前工作的分支B移动到分支A中,然后再切换到分支A中,执行 git rebase 分支B,此时没有冲突的情况分支A和分支B的内容一致
 
git checkout 分支A
git merge master
以上两个命名是将master的内容合并到分支A。当master分支和分支A在持续更新时,还需要再次将master分支修改的内容合并到分支A。此时这种情况是正常的状态,但是commit节点演进图就比较复杂,我们可以使用rebase指令:
把另一个分支的修改运用到当前的分支,等当前分支开发完成后再使用merge指令合并
git checkout 分支A
git rebase master
当然rebase命令也可能出现冲突。出现冲突是要不使用git rebase --abort恢复到未执行rebase之前的状态。要不就是解决冲突后使用 git add 和gitrebase --continue 继续执行rebase操作。rebase 仅适用于当前分支仅限于自己使用,否则会出现和其他人文档库数据不一致的情况
 
git远程仓库
  • git remote add:添加远程仓库
  • git remote:查看当前的远程仓库
  • git fetch、git pull:提取远程仓仓库
  • git push:推送到远程仓库
  • git remote rm:删除远程仓库
git pull :从远程git文档库中取回当前分支的最新数据,并且将远程git文档库的分支合并到本地git文档库的分支
添加远程仓库,起名为film,并查看
提取远程仓库数据
合并并提交
删除仓库
目前我常用的工作流程是
1、使用git clone 复制一个文档库到本地
2、然后时候git checkout -b 新的分支名称 创建一个属于自己的分支
3、然后进行修改删除文件后先使用git add 、git commit 将我们的修改提交到本地文档库中
4、然后使用git push -u 分支名称:将我们的分支内容同步到远程git 文档库中
5、在git上提交合并请求,当我们分支的内容合并到主分支上
6、在自己的分支上执行git pull  主分支名称  将主分支的内容合并到自己的分支中

最新文章

  1. Nginx负载均衡配置说明
  2. python面向对象个人总结
  3. spring 管理 jdbc 事务
  4. 搭建openvpn 未完成。。。
  5. SQL Server 中 RAISERROR 的用法
  6. BZOJ 1968 约数研究
  7. 基于RTP的H264视频数据打包解包类
  8. 【转】让apache支持中文路径或者中文文件
  9. javascript 版的 SuperMario
  10. java中HashMap详解(转)
  11. cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)
  12. 谁用光了磁盘?Docker System命令详解
  13. [Swift]LeetCode1004. 最大连续1的个数 III | Max Consecutive Ones III
  14. 工作笔记——使用Jest时遇到的一些问题
  15. Jmeter遇到打不开的问题
  16. [20190319]shared pool latch与library cache latch的简单探究.txt
  17. TensorFlow实战Google深度学习框架8-9章学习笔记
  18. 微信小程序制作家庭记账本之三
  19. 奇怪的分式|2014年蓝桥杯B组题解析第六题-fishers
  20. linux tmux命令小结

热门文章

  1. NFS 服务器配置(Ubuntu)
  2. fijkplayer问题反馈:暂停时拖动进度光标,在窗口模式与全屏模式间切换后,进度光标不能及时更新、正常跟进
  3. java学习第二天面向对象.day07
  4. Redis架构之哨兵机制与集群
  5. net::ERR_BLOCKED_BY_CLIENT 错误导致页面加载不出来
  6. Linux 安装 Tomcat 详细教程
  7. 若依3.6.0使用Mybatis-plus分页失效以及完美替换Pagehelper
  8. JDBC的学习 3-1
  9. Keepalived之简单有效的配置
  10. KingbaseES 全局临时表