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  主分支名称  将主分支的内容合并到自己的分支中

git(新)的更多相关文章

  1. Git 新项目关联到远程仓库

    最近前端学到小有成果,准备写一个新项目放在githup,结果没有提前在仓库创建项目,现在我把写好的项目推送到远程gitHup 1.先初始化本地仓库 Git init : 这样在项目里面都创建了一个隐藏 ...

  2. Git新技能-stash操作

    最近开发的工期非常紧迫,一直在忙各种杂七杂八的事情,负责人都还没有创建好测试环境, 所以代码也不能部署.可是项目经理催促开发进度又催得很急,新的开发需求必须在指定的时间内 完成,我们只得想办法去克服困 ...

  3. git新克隆代码的时候ssh协议

  4. idea 拉取git新分支

    前面的话: 一不小心,删除了dev的分支,没办法.头头重新克隆了下,但是发现idea的右下角并没有啊,我记得之前遇到过一次 但还是忘记如何操作了,在这记录下,省的下次还得去百度 选中项目-git-fe ...

  5. [原创]git使用入门

    创建git项目并初始化 建立一个新文件夹,然后将该文件夹定义为git项目 Lilis-MacBook-Pro:GitDir lili$ mkdir testgit Lilis-MacBook-Pro: ...

  6. git digest

    .gitignore文件示例: .classpath .project .idea/ .settings/ target/ *~ *.iml *.log *.tmp https://zhuanlan. ...

  7. 批量修改git仓库地址脚本

    前言   公司的代码都存放在自己搭建的gitlab上面.之前由于老板升级gitlab.导致下面有个叫做"api"的groups无法访问.通过无所不能的谷歌才知道.在gitlab在某 ...

  8. git修改远程仓库关联

    公司搬移, 作为git仓库的服务器IP地址变了. 本地代码挺多,重新检出太占时间,可以修改一个什么配置让我本地仓库和新的远程仓库建立关联吗, 答案是肯定的! 方法有很多,这里简单介绍几种: 以下均以项 ...

  9. Git远程仓库地址变更本地如何修改

    以项目test为例: 老地址:http://192.168.1.1:9797/john/test.git 新地址:http://git.xxx.xxx/john/test.git 远程仓库名称: or ...

随机推荐

  1. JVM学习之 内存结构

    目录 一.引言 1.什么是JVM? 2.学习JVM有什么用 3.常见的JVM 4.学习路线 二.内存结构 1. 程序计数器 1.1 定义 1.2作用 2. 虚拟机栈 2.1定义 2.2栈内存溢出 2. ...

  2. 万答#1,MySQL中如何查询某个表上的IS(意向共享)锁

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 问题 问题原文是这样的: 假如在MySQL事务里,给某个表的一行加了 共享锁,理 ...

  3. SingleSphere类定义

    针对于单个球体的碰撞,其实和多个球体一样的,只是我修改了书上的代码,定义了这么多类,终于到头了.马上就要展示奇迹的时候了. 类定义: #pragma once #ifndef __SINGLESPHE ...

  4. 两天时间学习的html的知识笔记

    坚持努力背 特殊字符: 空格符  < 小于号 <> 大于号 >& 和号 &¥ 人民币 ¥  版权 ©R 注册商标 ®. 摄氏度 ° 正负号 ±X 乘号 × 除号 ...

  5. Luogu3870 [TJOI2009]开关 (分块)

    线段树做法很简单,但分块好啊 #include <iostream> #include <cstdio> #include <cstring> #include & ...

  6. uni-app 从0 到 1 制作一个项目,收藏等于学会

    uni-app 是使用 vue.js 开发的所有前端应用框架,开发者编写的一套代码,可以发布到 ios.android.web ,以及各种小程序平台. 一.创建uni-app 1.hBuilderX ...

  7. python压缩pdf(指定缩放比例)

    python压缩pdf(指定缩放比例) 原理 pdf文件处理使用https://pymupdf.readthedocs.io/en/latest/index.html库可以轻松实现,该库的官方说明文档 ...

  8. wsl创建证书让chrome浏览器识别

    我在wsl里面测试http2协议的时候,在wsl用openssl创建了证书, 然后我把证书放在windows证书管理后,用chrome打开发现提示这个: 虽然可以点击下面的强制 访问 但是chrome ...

  9. ClickHouse(05)ClickHouse数据类型详解

    ClickHouse属于分析型数据库,ClickHouse提供了许多数据类型,它们可以划分为基础类型.复合类型和特殊类型.其中基础类型使ClickHouse具备了描述数据的基本能力,而另外两种类型则使 ...

  10. 《Java编程思想》读书笔记(五)

    前言:本文是<Java编程思想>读书笔记系列的最后一章,本章的内容很多,需要细读慢慢去理解,文中的示例最好在自己电脑上多运行几次,相关示例完整代码放在码云上了,码云地址:https://g ...