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操作的更多相关文章

  1. Git 工作原理以及常用命令操作

    GIT工作原理 要了解GIT工作原理,先了解GIT的这几块区域: 工作区域划分 工作区:指的是本地工作空间,如果刚拉取下来的代码,没有修改的内容,这块区域是空白的 (modified-已修改状态) 暂 ...

  2. Git 系列(四):在 Git 中进行版本回退

    在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个 ...

  3. Git系列 —— 记一次Mac上git push时总是403的错误

    问题: 今天从github上clone下一个项目,然后修改后git push时总是出现: remote:Permission to lixyou/rw-split-plugin.git defined ...

  4. Hive 系列(四)—— Hive 常用 DDL 操作

    一.Database 1.1 查看数据列表 show databases; 1.2 使用数据库 USE database_name; 1.3 新建数据库 语法: CREATE (DATABASE|SC ...

  5. Hive 系列(七)—— Hive 常用 DML 操作

    一.加载文件数据到表 1.1 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (p ...

  6. 常用git指令

    git checkout -b newBranchName //与当前分支内容相同! git checkout -b 本地分支 origin xxx//远程分支 在本地新建一个分支,并把远程分支的代码 ...

  7. 工作常用git命令

    克隆项目 git clone gitssh地址 提交前的准备 git config user.name 您的中文名 git config user.email 公司邮箱 获取分支 #### 将远端分支 ...

  8. 工作中常用Git指令操作

    常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...

  9. Git创建工作目录与常用指令

    1.创建工作目录与常用指令 工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文. 日常使用只要记住下图6个命令: 2.提交管理 ...

随机推荐

  1. ORM _meta

    import os if __name__ == '__main__': os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'XadminDemon.se ...

  2. python函数和lambda表达式学习笔记

    1. python函数 不同于其他语言,python支持函数返回多个值 为函数提供说明文档:help(函数名)或者函数名.__doc__ def str_max(str1, str2): ''' 比较 ...

  3. python常用内置模块-random模块

    random模块:用于生成随机数 '''关于数据类型序列相关,参照https://www.cnblogs.com/yyds/p/6123692.html''' random() 随机获取0 到1 之间 ...

  4. 深入Nodejs模块fs - 文件系统操作

    node 的fs文档密密麻麻的 api 非常多,毕竟全面支持对文件系统的操作.文档组织的很好,操作基本分为文件操作.目录操作.文件信息.流这个大方面,编程方式也支持同步.异步和 Promise. 本文 ...

  5. NOI2.6 8782: 乘积最大

    描述 今年是国际数学联盟确定的"2000--世界数学年",又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好 ...

  6. Python的条件控制及循环

    一.条件控制: 1.If语句的使用: Python中if语句的一般形式如下所示: 上图中: 如果 "score>=90" 为 True 将执行 "print(‘优秀 ...

  7. Quartz.Net和队列应用demo

    using System; using System.Collections.Generic; using System.Threading; namespace ConsoleApplication ...

  8. C语言的安装及使用

    安装 vc6.0 使用方法 new    ---  win32 Console Application ---  ok-ok     ------c++ Source File      ------ ...

  9. GPU与CPU

    GPU与CPU CPU CPU,也就是中央处理器,结构主要包括控制器(指挥各部分工作).运算器(实现数据加工).寄存器.高缓以及数据/控制/状态总线.计算机的性能很大程度上依赖于CPU,CPU的功能包 ...

  10. Vertx使用EventBus发送接受自定义对象

    先看官方文档步骤: 需要一个编解码器,看源码: 可见内置了需要数据类型的实现,所以发送其他消息可以发送,但是如果发送自定义对象就需要自己实现编解码逻辑了 一 自定义编解码器 /** * 自定义对象编解 ...