git系列之---工作中项目的常用git操作
0、本地git的安装
1、git 配置
git config user.name 查看 用户名
git config user.email 查看 邮箱
git config --global user.name <name> 修改 用户名
git config --global user.email <email> 修改 邮箱
ssh-keygen -t rsa -C " your_email@example.com" 创建SSH key 【可以填写任意值作为注释key,例如邮箱】
ssh -T git@gitee.com 测试该SHH key 已添加到 gitee.com【码云】
2、创建版本库
git init 初始化本地版本库【创建一个 .git的子目录】
git init [project-name] 新建一个目录,并将其初始化为 git 代码库;
git clone <url> 克隆远程版本库;
3、修改和提交
git status 显示文件的状态 【红色表示被修改没提交到暂存区,绿色代表已提交到暂存区;】
git status -s 以极简的方式显示文件的状态【红色的M 表示被修改没提交到暂存区,绿色的M代表已提交到暂存区;】
git add 将文件从工作目录添加至暂存区;
git add -u | --update 仅将被修改的文件添加至暂存区(不包含新添加的文件);
git add . 将被修改的文件 和 新添加的文件提交到暂存区(不包含已经删除的文件);
git add -a 将本地所有修改的内容添加至暂存区(包含新添加的 和 已经删除的);
git commit 将暂存区的修改提交到本地仓库,同时生成一个commit-id;
git commit -m <message> 将暂存区修改提交到本地仓库
git commit -a -m <message> 将工作区的修改提交到本地仓库 【相当于 git add + git commit 】
git commit -amend 修改上一次提交【代码没有任何变化,则修改提交信息】
4、分支操作
git branch
git branch 列出所有本地分支
git branch -r 列出所有远程分支
git branch -a 列出所有本地和远程分支
git branch [branch-name] 新建一个分支,仍停留在当前分支
git branch -m <nameA> <nameB> 将分支nameA 改名为 nameB
git branch -d [branch-name] 删除分支
git checkout
git checkout [branch-name] 切换到指定分支
git checkout -b [branch-name] 新建一个分支,并切换到该分支
git checkout - 切换到上一个分支
git merge
git merge [branch-name] 合并指定分支到当前分支
5、远程操作
git fetch 将远程主机上所有分支的更新取回本地,并记录在 .git/FETCH_HEAD 中;
git fetch <remote-name> 下载远程仓库的所有变动;
git fetch <remote-name> master:test 在本地新建test 分支,并将主机上master分支代码下载到本地 test 分支;
git remote
git remote -v 显示所有远程仓库
git remote show <remote-name> 显示某个远程仓库的信息
git remote add <remote-name> [ url ] 增加一个新的远程仓库 并命名
git pull
git pull <远程主机名> <远程分支名> : <本地分支名> 取回远程仓库某个分支的更新,并与本地分支合并
git pull origin dev: master 取回远程主机的 dev 分支,与本地的master分支合并
git pull origin dev 相当于以下两个命令:
git fetch origin 获取远程主机上所有分支的更新
git merge origin/dev 与当前分支合并
git push
git push <远程主机名> <本地分支名> : <远程分支> 上传本地指定分支到远程仓库的指定分支
省略远程分支名,表示将本地分支推送到与之存在“追踪关系”的远程分支,通常两者同名,后者不存在,将会被创建;
省略本地分支名,表示删除指定的远程分支【这相当推送一个空的本地分支到远程分支】;
git push origin master 将本地的master 分支推送到 origin 主机的master 分支【后者不存在,将会被创建】
git push origin : master 删除 origin 主机的master 分支;【相当于 git push origin --delete master】
6、撤销修改
撤销工作区的修改: 【文件修改之后撤销】
git checkout -- file 恢复暂存区的指定文件到工作区
git checkout . 恢复暂存区的所有文件到工作区
撤销暂存区的修改: 【git add 之后】
git reste HEAD <file>
版本回退 :
git reset --hard <commit_id>
git log 查看提交历史,确定回退到那个版本;
git reflog 查看历史命令,确定回到未来的版本;
git系列之---工作中项目的常用git操作的更多相关文章
- Git 工作原理以及常用命令操作
GIT工作原理 要了解GIT工作原理,先了解GIT的这几块区域: 工作区域划分 工作区:指的是本地工作空间,如果刚拉取下来的代码,没有修改的内容,这块区域是空白的 (modified-已修改状态) 暂 ...
- Git 系列(四):在 Git 中进行版本回退
在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个 ...
- Git系列 —— 记一次Mac上git push时总是403的错误
问题: 今天从github上clone下一个项目,然后修改后git push时总是出现: remote:Permission to lixyou/rw-split-plugin.git defined ...
- Hive 系列(四)—— Hive 常用 DDL 操作
一.Database 1.1 查看数据列表 show databases; 1.2 使用数据库 USE database_name; 1.3 新建数据库 语法: CREATE (DATABASE|SC ...
- Hive 系列(七)—— Hive 常用 DML 操作
一.加载文件数据到表 1.1 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (p ...
- 常用git指令
git checkout -b newBranchName //与当前分支内容相同! git checkout -b 本地分支 origin xxx//远程分支 在本地新建一个分支,并把远程分支的代码 ...
- 工作常用git命令
克隆项目 git clone gitssh地址 提交前的准备 git config user.name 您的中文名 git config user.email 公司邮箱 获取分支 #### 将远端分支 ...
- 工作中常用Git指令操作
常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...
- Git创建工作目录与常用指令
1.创建工作目录与常用指令 工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文. 日常使用只要记住下图6个命令: 2.提交管理 ...
随机推荐
- [bzoj4872] [洛谷P3750] [六省联考2017] 分手是祝愿
Description Zeit und Raum trennen dich und mich. 时空将你我分开. \(B\) 君在玩一个游戏,这个游戏由 \(n\) 个灯和 \(n\) 个开关组成, ...
- SSM前后端分离/不分离对比Demo
之前某些原因,整理了一个小的Demo,用于演示.个人认为在SSM前后端不分离的基础上在前端处理上比较麻烦一点之后就是注解的使用.总结一些对比,仅是自己掌握的,不够严谨,不足之处请大佬批评指正. 路由控 ...
- sqli_labs学习笔记(一)Less-38~Less-53
续上,开门见山 堆叠注入,实际上就构成了两条SQL语句 http://43.247.91.228:84/Less-38/?id=1' union select 1,2,3 --+ //未报错 h ...
- mysq5.7l的下载与配置
---恢复内容开始--- mysql是一个开源免费的数据库,它属于oracle公司 下载地址:www.oracle.com 页面移动到下面可以找到这几个选项 还是移动到下面 如果你要下载的不是那四样中 ...
- mysqldump 备份与恢复操作记录
一,参数详解 [root@bug ~]# ? mysqldump --master-data[=#] mysqldump导出数据时,当这个参数的值为1的时候,mysqldump出来的文件就会包括CH ...
- 办公环境下k8s网络互通方案
在 kubernetes 的网络模型中,基于官方默认的 CNI 网络插件 Flannel,这种 Overlay Network(覆盖网络)可以轻松的实现 pod 间网络的互通.当我们把基于 sprin ...
- QT5如何设置QLabel中字体的颜色
修改了wd的文章: 如何使用Qt5,设置QLabel中字体的颜色. 大致有几种做法: 一是使用setPalette()方法: 二是使用样式表: 三是可以使用QStyle: 四是可以在其中使用一些简单的 ...
- HDU_5057_分块
http://acm.hdu.edu.cn/showproblem.php?pid=5057 分块,保存每个块中每位对应数字的和,复杂的是getmum,左右下标所在的块不能直接读取block数组,要重 ...
- 基于 Serverless Component 全栈解决方案
什么是 Serverless Component Serverless Component 是 Serverless Framework 的,支持多个云资源编排和组织的场景化解决方案. Serverl ...
- MySQL中遍历查询结果的常用API(c)
本中所使用的table: MySQL中的错误处理函数 unsigned int mysql_errno(MYSQL *mysql) const char *mysql_error(MYSQL *mys ...