今天开始学习git

1. 什么是git

  • git - 开源的分布式版本控制器
  • Linux Benedict Torvalds

2. 版本控制工具

SVN:  集中式版本控制器  --- 代码库放在服务器上集中管理  -- 必须实时联网

Git:    分布式版本控制器  --- 服务端和客户端都有代码库  -- 速度快  --- 不用实时联网

3. git工作流程

  • clone   --- CheckOut
  • commit -- 将代码提交到本地仓库
  • push   --- 将本地仓库推送到服务器
  • pull     --- 更新本地仓库

4.

  • 新建一个"本地仓库"  $ git init
  • 配置仓库  
    • 告诉git你是谁 --  $ git config user.name lnj
    • 告诉git怎么联系你 -- $git config user.email lnj@itcast.cn
    • 上面配置为 一次性配置方式, 配置文件在管理文件夹下
    • 下面的方式为 一劳永逸的方式
    • $ git config --global user.name jiaguanglei

    • $ git config --global user.email 2318336342@qq.com

    • 点击前往 -- 个人  会看到一个.gitconfig 文件(隐藏)

5. 学习git指令

git 学习指令和SVN类似, git是通过一个不可编辑的指南,-- $q 退出    $空格 - 下一页   $ctrl + b -- 上一页   $/+"搜索文字"

$git help

  • $git help clone   --
  1. $ touch main.c   -- 创建文件
  2. $ open main.c     -- 打开文件
  3. $ git status   --- 查看文件状态
  4. $ git add  main.c --- 添加文件到"暂存区"
    • # 将当前文件夹下的所有新建或修改的文件一次性添加到代码库

      $ git add .

  5. $ git commit main.c  --- 更新本地代码库
    • [注意] 如果没有在commit后面加上 -m, 说明修改了什么, 会自动进入一个vim界面, 要求我们输入修改信息;
    • 按键盘上的 i \ o, 进入输入状态  -- 直接输入 修改内容
    • 修改完以后, 按esc,  输入":" +  wq 退出
    • 所以以后终端提交的时候, 最好加上 -m
    • $  git commit main.c -m "添加了返回值模块"

[注意] 未添加的颜色:  红色;-------工作区 -- manager 当前能看到的文件夹

       add 添加到暂存区的颜色: 绿色  --- 暂存区 -- commit --- 本地仓库repository

[注意]git默认是没有简写指令, 起别名指令 -- $ git config alias.st status     $ git config alias.cm "commit -m"   $ git config alias.st statusclear -- 清除别名

6. $ git log main.c  --- 打印修改记录   

git的版本号 是40位的哈希值

svn 是一个整数

   $ git reflog main.c  --  查看所有修改信息

  • # 查看所有版本库日志 ---  $ git log
  • # 查看指定文件的版本库日志  ---  $ git log 文件名
  • # 配置带颜色的log别名  ---  $ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

7. 版本恢复

  • 已经提交

$ git reset --hard HEAD^    ----  强制恢复到 上一个版本

$ git reset --hard HEAD~(3)  --- # 回到之前第3个修订版本

$ git reset --hard 版本号前七位   --- 哈希值前七位

$ git reset e695b67  ---  # 回到指定版本号的版本

$ git reflog  --- # 查看分支引用记录

  • 未提交

$ git checkout main.c

$ git reset --hard HEAD  ----- # 回到当前版本,放弃所有没有提交的修改

      8. 查看修改文件

  • $ git diff    --- 查看修改内容  绿色-新增  红色-删除

6. 远程仓库配置

svn 需要一个单独的服务器

git 文件, U盘, 云盘, github, OSChina

  1. 新建git的远程仓库  --- 这个仓库仅仅用于管理代码,不参与开发.

    • git init --bare

     2.  项目经理初始化项目 

2.1 先初始化一份空的仓库到本地

  $ git clone 代码库地址(也可以是本地路径)

2.2 忽略不需要加入版本控制器的文件 

    .gitignore 

  [注意]配置gitignore, 只需要在github上搜索, .gitignore  然后复制代码即可; 

     配置gitignore一定要在和 .git隐藏文件同一级的目录下进行

  2.3 生成.gitignore 文件以后, 还需要将gitignore添加到代码库中,  

  • git add .gitignore
  • git commit .gitignore -m "配置忽略文件"

  2.4 新建项目

  • commit - 将代码提交到本地
  • git中默认会创建一个分支, origin/master  -- 相当于 SVN 中的=trunk
  • push  -- 将代码提交到远程仓库

总结:

  1> git 每次修改都要要add

  2> git 每个开发者本地都有一个仓库

  3> git 每次提交, 都是先提交到本地仓库, 再提交到远程仓库

7. 新人服务器的搭建

  1> 新建一个新人服务器

  2> 初始化仓库  ---- $ git init --bare

  3> 添加一个新的远程仓库, sourceControl  -- config 仓库  --- add   --- done

  4> 经理将新的代码 push 到新的服务器

8. git 分支管理

  • $ git tag -a v1.0 -m "Version 1.0"    ---- 在本地代码库 给项目打标签 [仅仅是本地标签, 和服务器没有关系]
  • $ git tag                                -----  查看标签
  • $ git push origin v1.0   ----- 将标签推送到远程仓库中

 开启一个分支

  • $ git checkout -b new_branch_name  -- 新建一个分支

  • $ git tag -a v1.0 -m "Version 1.1"      --- 本地保存修复
  • $ git push origin v1.1                        ---  更新远程仓库

02. 分支管理 - Tag

================================================================================

# 查看当前标签

$ git tag

# 在本地代码库给项目打上一个标签

$ git tag -a v1.0 -m 'Version 1.0'

# 将标签添推送到远程代码库中

$ git push origin v1.0

# 使用tag,就能够将项目快速切换到某一个中间状态,例如产品开发线上的某一个稳定版本

# 签出v1.0标签

$ git checkout v1.0

# 从签出状态创建v1.0bugfix分支

$ git checkout -b bugfix1.0

# 查看远程分支

$ git branch -r

# 删除远程分支

$ git branch -r -d origin/bugfix1.0

 

转载于:https://www.cnblogs.com/guangleijia/p/4817313.html

git 常用指令 -相关推荐

  1. Git 常用指令记录

    Git 常用指令记录 创建代码库 提交代码 查看修改和撤销 分支用法 tag 版本控制 创建代码库 git init 提交代码 添加需要提交的文件 第一种,添加单个文件 git add [name] ...

  2. Git | 常用 指令

    Git | 常用 指令 Git的安装和配置 下载Git 配置环境变量 检验安装成功 配置全局信息 git config --global user.name "RobKing" / ...

  3. github:Git 常用指令

    本文是看完表严肃的视频教程后总结的笔记,视频链接:表严肃讲git,我觉得讲的还不错,算是一个基础的入门吧! 下面我就称表严肃为表老师~ 表老师在视频中将commits形容为"后悔药的制作&q ...

  4. 小白也能学会的 Git 常用指令指南

    目录 1.git init 2. git add 3.git commit 4.git log 5.git reflog 6.git reset --hard HEAD~X 7.git status ...

  5. git | 常用指令

    登录官网 (Gitee - 基于 Git 的代码托管和研发协作平台),在工作台创建一个仓库. 打开需要上传的工作目录文件,右键Git Bash Here 一.新项目创建 1.检查当前工作目录是否有 . ...

  6. Git常用指令——持续补充中

    Git项目代码提交下载流程 按如下顺序操作即可: 1. git init--创建/初始化仓库 2. Git clone --拉取远程仓库到本地 3. git status--查看工作区状态 4. gi ...

  7. Git分布式版本控制和远程库创建运用、git常用指令【尚硅谷笔记】

    目录 1.Git 1.1.概述 1.2.版本控制 为什么需要版本控制 1.3.版本控制工具 集中式版本控制工具 分布式版本控制工具 1.4.Git简史 1.5.Git工作机制 1.6.Git和代码托管 ...

  8. Git常用指令及功能总结

    文章目录 前言: 1.常用的git指令 2.常用git功能及操作 2.1.下载代码: 2.2.当前分支和master保持一致 2.3.修改代码后提交代码到指定分支 2.4.版本回退(时空穿梭机) 2. ...

  9. xcode svn commit is not under version control 和 git常用指令

    使用Xcode提交一个第三方库时,由于包含资源文件,总是提交不了,提示报错:XXX commit is not under version control (1) 网上查了下,得知 xcode对于sv ...

最新文章

  1. Redis常见面试题总结
  2. 谷歌最新黑科技:裸眼3D视频通话,宛如真人面对面!Jeff Dean:魔镜啊魔镜
  3. Retrofit2/OkHttp 重写覆盖headers 与 不重写覆盖Headers
  4. ruhr启动mysql数据库_Mysql表类型(存储引擎)的选择
  5. mysql 条件查询分页_百万数据下mysql条件查询及分页查询的注意事项
  6. python操作redis set_Python操作redis学习系列之(集合)set,redis set详解 (六)
  7. Flex读取txt文件里的内容(二)
  8. 消息中间件--RabbitMQ ---高级特性之消费端ACK与重回队列
  9. php分类程序,php 无限分类程序
  10. vsftp+tftp+dhcp+pxe+kickstart自动化安装操作系统
  11. linux编译带pgm的zmq,ZeroMQ接口函数之 :zmq_pgm – ØMQ 使用PGM 进行可靠的多路传输...
  12. 矩阵论第二章总结:范数理论及应用(脑图)
  13. 第6章 人口城市化
  14. Asp.Net编码规范
  15. 郭天祥的10天学会51单片机_第六节
  16. 多元统计分析R语言建模| 1 多元数据的数学表达
  17. 短信验证php_php如何实现短信验证
  18. 屏幕录制专家,如何上传到优酷的高清视频?
  19. 苹果公司独有的“产品包装艺术”
  20. 网格顶点法向量从世界坐标到切空间坐标转换:法向贴图高低模烘焙

热门文章

  1. Xenapp之web界面中文化及发布应用
  2. PostgreSQL pg中的截取补齐lpad函数怎么用?
  3. Python求最大公约数和最小公倍数
  4. python ggplot_python数据可视化系列---谁是ggplot2的更好python实现
  5. python当输入0时结束_python输入-1时结束-女性时尚流行美容健康娱乐mv-ida网
  6. 深入浅出 - 公钥、私钥和数字签名最通俗的理解
  7. Layer1隐私项目BeamX DAO完成200万美元融资,Collider Ventures、AirSpeed18等机构参投
  8. Linkswap宣布为DigiByte启动RenVM桥接器
  9. MetaMask发布9.2.0版本 新增支持多个Ledger和Trezor硬件账户
  10. 路印智能钱包现已上线Google Play商店