git命令及远程仓库操作内容整理
0.在git官网上下载git对应的适配系统版本
进入到需要管理的目录,打开git终端
1.git相关的基础命令:
git init
在当前文件夹下创建一个.git的隐藏文件夹,初始化版本控制器
注:不要同一目录下多个位置初始化,他可以管理当前目录下所有文件(包括子级目录)
git status
查看Git当前状态,如:那些文件被修改过、那些文件还未提交到版本库等。
git add 文件名
将指定文件添加到版本库的暂存状态。
git commit -m '提交信息'
将暂存区的文件提交到版本库的分支。
第一次提交会要求配置email和name:
git config --local user.name 'sakura'
git config --local user.email 'you@example.com'
git log
查看提交记录,即:历史版本记录
git reset --hard 版本号
可以在log中查看版本号,并回滚到指定的版本
注:如果回滚后又想回滚到回滚之前的状态,这时候得使用git reflog,然后再git reset --hard 版本号
git revert 版本号 可以取消git log中的提交记录
2.stash
stash的应用场景:
如果在开发一个新功能时正开发了一半,发现以前的旧功能中存在bug,急需去修改bug,那么这个时候为了避免新功能造成干扰可以先将新开发的代码存储到临时文件夹中
git stash
将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
git stash list
查看“某个地方”存储的所有记录
git stash clear
清空“某个地方”
git stash pop
将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply 编号
将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号
删除指定编号的记录
3.branch
branch称为分支,默认仅有一个名为master的分支。
一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支。
如果在开发的途中出现了bug,那么可以在master分支上开启一个bug分支,修复完成后使用merge来合并master与bug分支
新功能开发完成后再将dev分支与master分支进行合并
git branch 分支名称
创建分支
git checkout 分支名称
切换分支
git branch -m 分支名称
创建并切换到指定分支
git branch
查看所有分支
git branch -d 分支名称
删除分支
git merge 分支名称
将指定分支合并到当前分支
注:同样可以完成合并操作的还有rebase,它能使分支更加的简洁,美观
4.将项目上传到远程仓库
例如: github
git remote add origin(别名) https://github.com/louyifei8888/test.git
git push origin master
将本地的master分支推到github上
git push origin dev
将本地的dev分支推到github上
git clone https://github.com/louyifei8888/test.git
从github上克隆一份项目,默认获取到的只有master分支
git branch dev origin/dev
创建dev分支并导入远程origin中的dev分支同步
git pull origin dev
从远程GitHub仓库获取dev分支最新内容,并合并到本地
注:git pull origin dev 相当于执行了两步
第一步:git fetch origin
第二步:git merge origin/分支 或 git rebase origin/分支
5.协同开发的三种方式
1.项目合作者
2.创建组织,邀请成员(拥有修改组下所有项目代码的权利)
3.fork(fork到自己的仓库修改完成后new pull request,会给写项目的管理人员发送一条通知)
git命令及远程仓库操作内容整理的更多相关文章
- Git(进击学习:远程仓库操作)-V3.0
1.查看当前的远程仓库:git remote或git remote -v 2.添加远程仓库:git remote add [shortname] [url] git remote add pb git ...
- (超详细)使用git命令行将本地仓库代码上传到github或gitlab远程仓库
(超详细)使用git命令行将本地仓库代码上传到github或gitlab远程仓库 本地创建了一个 xcode 工程项目,现通过 命令行 将该项目上传到 github 或者 gitlab 远程仓库,具体 ...
- git多个远程仓库
1. 前言 用GitHub管理自己的开源项目有几年了,最近一年更新得比较多,仓库也越来越多越来越大.有时候感觉GitHub太慢,尤其是最近感觉更为明显,于是萌生了再找个国内类似GitHub的代码托 ...
- git指令-添加远程仓库
git指令-添加远程仓库 首先在GitHub上创建属于你自己的远程仓库:例如我创建的远程仓库mybatis用于我最近保存的mybatis代码 目前,在GitHub上的这个learngit仓库还是空的, ...
- git如何删除远程仓库的某次错误提交
git如何删除远程仓库的某次错误提交 如果远程仓库,能ssh访问,那就跟本地没什么区别 reset命令有3种方式 git reset --mixed 此为默认方式,不带任何参数的git res ...
- 解决git push至远程仓库失败的问题
产生问题的原因: 远程仓库存在本地不存在的文件, 一个常见的例子是创建repository时勾选了README.md, 但此时本地还没有这个文件, 就会导致本地文件无法同步到远程仓库的问题. 解决方法 ...
- [gitHub实践] git基础:远程仓库的使用
[gitHub实践] git基础:远程仓库的使用 版权2019.6.2更新 git 基础 远程仓库的使用 git remote # 查看远程仓库 $ git remote # 克隆的仓库服务器默认名字 ...
- Myeclipse如何使用自带git工具向远程仓库提交代码(转)
Myeclipse如何使用自带git工具向远程仓库提交代码 第一步:将改动的代码标记 项目右键:team->synchronize workspace 点击确定 项目右键>add to g ...
- git关联github远程仓库的问题
git关联github远程仓库的时候,报fatal: remote origin already exists. 导致这个问题原因可能是之前关联的时候关联错了,再次关联就不行了. 解决办法是: 1.将 ...
随机推荐
- Django中使用Celery
一.前言 Celery是一个基于python开发的分布式任务队列,如果不了解请阅读笔者上一篇博文Celery入门与进阶,而做python WEB开发最为流行的框架莫属Django,但是Django的请 ...
- Redis的数据结构之哈希
存储Hash String key和String Value的Map容器 每一个Hash可以存储4294967295个键值对 存储Hash常用命令: 赋值 取值 删除 增加数字 判断字段是否存在 获取 ...
- 17.4-uC/OS-III消息管理(任务消息队列使用)
任务消息队列跟任务信号量一样,均隶属于某一个特定任务, 不需单独创建,任务在则在, 只有该任务才可以接收这个任务消息队列的消息,其他任务只能给这个任务消息队列发送消息, 却不能接收.任务消息队列与(普 ...
- CSS-对于IE的兼容问题处理
css兼容问题 兼容问题 1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白 ...
- Python subprocess.Popen() error (No such file or directory)
这个错误很容易引起误解,一般人都会认为是命令执行了,但是命令找不到作为参数对应的文件或者目录.其实还有一层含义,就是这个命令找不到,命令找不到,也会报没有这个文件或者目录的错误. 为什么找不到这个命令 ...
- C工程 交互 ceph 分布式存储系统
网上看到有人问,如何在C项目里调用ceph系统对外提供的API,实现分布式存储. 我在网上搜到了相关信息,但是因为不是会员无法追加答案,故而,贴于此. 赠予有缘人:) ———————————————— ...
- linux affinity
现在的CPU几乎都是多核,所以,分配给予进程相同数量的线程是合理的需求 但是,这些线程不一定就均匀跑在这些内核上 所以,我们要指派,“一个线程就运行在一个固定的CPU内核上” //test.c #de ...
- C# 获取结构体的所有成员
读取结构体的所有成员(Engine为结构体) FieldInfo[] fieldInfos = typeof(Engine).GetFields();
- HTML5基础标签
块级元素 1.独占一行,不和其他元素待在同一行 2.能设置宽高 标签 是否为单标签 标签属性 备注 <h1></h1>......<h6><h6> 双 ...
- json字符串 转Java List 简单方法
JSONArray jsonArr = JSONArray.fromObject(jsonStr); List<Map<String,Object>> listMap = (L ...