Git的常见基础操作命令

1安装初始化

1.1安装git本地安装Windows版本

1.2初始化Git用户信息配置

  • 配置git用户,用于数据提交者信息
Dpad@DESKTOP-9O4NLO5 MINGW64 /D/baolin/Git-bash
$ git config --global user.name "baolin.li"
  • 配置git邮箱,用于数据提交者联系方式
Dpad@DESKTOP-9O4NLO5 MINGW64 /D/baolin/Git-bash
$ git config --global user.email "baolin2200@163.com"
  • 添加颜色显示
Dpad@DESKTOP-9O4NLO5 MINGW64 /D/baolin/Git-bash
$ git config --global color.ui auto
  • 调整ASCII字符乱码问题
Dpad@DESKTOP-9O4NLO5 MINGW64 /D/baolin/Git-bash
$ git config --global core.quotepath off
  • 查看配置
Dpad@DESKTOP-9O4NLO5 MINGW64 /D/baolin/Git-bash
$ git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
http.sslcainfo=D:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
diff.astextplain.textconv=astextplain
rebase.autosquash=true
credential.helper=manager
user.name=baolin.li
user.email=baolin2200@163.com
color.ui=auto
core.quotepath=off
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
  • 初始git工作目录:
Dpad@DESKTOP-9O4NLO5 MINGW64 /D/baolin/Git-bash
$ git init
Initialized empty Git repository in D:/baolin/Git-bash/.git/

2.基础语法操作:

1.将数据提交到本地的管理库中:

# 将数据提交的缓冲区 指定文件 a.txt
$ git add a.txt # 提交缓冲区当前所有文件
$ git add . # 提交到本地代码管理库
$ git commit -m "第一次提交"
[master (root-commit) fde70b1] 第一次提交
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a.txt # 查看当前状态
$ git status
... ...
(use "git add <file>..." to include in what will be committed)
b.txt

2.查看提交的历史记录 git log 并做代码回滚

# 查看历史提交记录
$ git log
commit ecaf4710f541d2a183ec6ded4ca7b9de5f5cc462 (HEAD -> master)
Author: baolin2200 <baolin2200@163.com>
Date: Mon May 21 15:33:01 2018 +0800 添加两行代码 commit d63ddd2d7d62b68195a0c21a53ccd07bb3a7e1cb
Author: baolin2200 <baolin2200@163.com>
Date: Mon May 21 15:30:17 2018 +0800 第二次提交 commit fde70b1e61063c38dbd27a8a24b565273a181cd1
Author: baolin2200 <baolin2200@163.com>
Date: Mon May 21 15:22:02 2018 +0800 第一次提交 # 回滚到指定的记录 git reset --hard
$ git reset --hard d63ddd2d7d62b68195a0c21a53ccd07bb3a7e1cb

3.完整的历史记录 git reflog

# 查看完整全面的历史记录
$ git reflog
d63ddd2 (HEAD -> master) HEAD@{0}: reset: moving to d63ddd2d7d62b68195a0c21a53ccd07bb3a7e1cb
ecaf471 HEAD@{1}: commit: 添加两行代码
d63ddd2 (HEAD -> master) HEAD@{2}: commit: 第二次提交
fde70b1 HEAD@{3}: commit (initial): 第一次提交 # 回到指定的位置
$ git reset --hard ecaf471
HEAD is now at ecaf471 添加两行代码

4.查看当前属于哪个git 库

git remote -v

5.查看所有分支

git branch -a

2.1当前状态暂存git stash:

常见的 git stash 方法

git stash           将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
git stash list 查看“某个地方”存储的所有记录
git stash clear 清空“某个地方”
git stash pop 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply 编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号,删除指定编号的记录

1.将当前开发一半的状态暂存

$ git stash
Saved working directory and index state WIP on master: ecaf471 添加两行代码

2.通过pop将最近暂存数据恢复(如遇代码冲突需要手动处理)

$ git stash pop

3.分支 branch

1.创建分支

# 创建分支 dev
$ git branch dev # 创建 bug 分支,并切换到bug分支
$ git checkout -b bug

2.查看当前有哪些分支

# 查看当前有哪些分支
$ git branch
dev
* master

3.切换分支

$ git checkout dev
Switched to branch 'dev'

4.分支合并merge(将dev分支内容合并到master分支上)

# 确定自己当前所在的分支为master
Dpad@DESKTOP-14FUOOK MINGW64 /e/git_bash/git_file (master)
$ git merge dev

注:

    在出现bug时,应当创建新的bug分支,在新分支上修改错误后测试没问题,merge到master分支;并删除无用的 bug 分支;

5.删除已经无用的分支 -d 分支名

$ git branch -d bug

6.修复完bug后,切换到dev分支继续开发需要先将线上的代码merge 到dev 进行更新

# 如果遇到警示,先进行备注后保存
$ git checkout dev
$ git merge master

4.GitHub、码云等远程仓库

4.1代码上传到仓库中

1.地址:

https://gitee.com/
https://github.com/
... ...

2.创建远程仓库地址,并设定别名,将 https 的URL地址起个别名为 origin

git remote add origin https://gitee.com/baolin2200/test.git

3.将本地的 master 分支代码 推到远程 origin 地址

# -u 指以后如果不写 origin 地址,默认向该地址提交
$ git push origin master # 将本地的 dev 分支也推上 仓库来
$ git push origin dev

4.2代码下载到本地

1.如果代码为公有代码可以直接下载,默认下载为 master 分支

# 公有代码直接 clone 下载
$ git clone https://gitee.com/baolin2200/test.git
remote: Compressing objects: 100% (55/55), done.

2.如需下载其他分支代码本地需先创建相应分支,并更新该分支

# 创建并切换分支到 dev
$ git checkout -b dev # 更新 线上的 dev 分支信息到本地
$ git pull origin dev

Git的常见基础操作命令的更多相关文章

  1. Git笔记----Git仓库常见经典操作命令

    首次创建仓库上传项目操作在上一篇https://www.cnblogs.com/tk55/p/11795644.html ----好记性不如烂笔头 再次更新到仓库 不是首次更新内容或文件到远程仓库 g ...

  2. git的简单理解及基础操作命令

    前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制管理>这本书(偏理论,内容完善,很不错),针对所学 ...

  3. MySQL基础操作命令

    MySQL基础操作命令 1. 查看MySQL进程 ps -ef|grep mysql |grep -v grep 2. 查看MySQL端口 ss -lnt | grep 3306 3. MySQL的启 ...

  4. git中常见的几个命令

    git中常见的几个命令 本地仓库 三个区域 工作目录 暂存区 本地仓库 文件的四个状态 未跟踪 untracked 已暂存 staged 已提交commited 已修改 modified 基本命令 g ...

  5. Git文件常见下标符号说明

    Git文件常见下标符号说明 git是一种分布式的版本控制工具.     不用联网也能实现版本控制,很实用. 它是一款现在比较流行的版本控制工具. git的文件上的图标,可以反映出当前文件或者文件夹的状 ...

  6. 3分钟学会git命令的基础使用

    前言废话 下面我们就来看看gitlab服务器搭建好(http://www.cnblogs.com/JeremyWYL/p/8258368.html) 之后,git命令的基础使用,基本上就能满足我们平时 ...

  7. git安装及基础用法

    1.安装GitGit-2.9.3-64-bit.exe 2.打开Git Bash,设置用户名,Email $ git config --global user.name "Your Name ...

  8. Git操作(基础篇)

    Git操作(基础篇) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/.Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...

  9. git中常用的操作命令有哪些?常用操作命令归纳

    git中常用的操作命令有哪些?本篇文章就给到大家归纳了一些git中常用操作命令.有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. git开始 全局配置:配置用户名和e-mail地址 1 ...

随机推荐

  1. ESD总结

    设计人员完全可以让系统在经过ESD事件后不发生故障并仍能继续运行.将这个目标谨记在心,下面让我们更好地理解ESD冲击时到底发生了什么,然后介绍如何设计正确的系统架构来应对ESD. 简单模型 将一个电容 ...

  2. mongoDB Liunx下安装及配置

    以下以ubuntu 16.04(64位)操作系统为例: 一.下载和安装 在ubuntu下安装mongodb可以使用 apt-get进行安装,也可以直接下载编译好的二进制文件进行安装.下面主要介绍使用二 ...

  3. aiojobs

    import asyncio import aiojobs async def coro(timeout): print(timeout) await asyncio.sleep(timeout) p ...

  4. Python os.access() 方法

    概述 os.access() 方法使用当前的uid/gid尝试访问路径.大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试. 语法 access()方法语法格式如 ...

  5. 【转】Java并发编程:并发容器之CopyOnWriteArrayList

    Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改, ...

  6. 【转】C++标准转换运算符reinterpret_cast

    reinterpret_cast<new_type> (expression) reinterpret_cast运算符是用来处理无关类型之间的转换:它会产生一个新的值,这个值会有与原始参数 ...

  7. 牛客国庆训练,CCPC Camp DAY1 J 倍增,括号匹配

    https://www.nowcoder.com/acm/contest/201#question 题意:中文不翻译了 解法的个人理解: 对于一个合法的区间$[L,R]$ 1.显然其左括号的匹配位置都 ...

  8. K-query SPOJ - KQUERY 离线 线段树/树状数组 区间大于K的个数

    题意: 给一个数列,一些询问,问你区间$[l.r]$大于$K$的个数 题解: 又一个"人尽皆知傻逼题"? 我们用一个01序列表示当前询问时,该位置的数字是否对答案有贡献, 显然,对 ...

  9. SQL Server 之 内部连接

    1.内部联接 2.外部联接 外部联接扩展了内部联接的功能,会把内联接中删除表源中的一些保留下来,由于保存下来的行不同,可将外部联接分为左联接和右联接. 2.1左联接: 如果左表的某一行在右表中没有匹配 ...

  10. 31)django-序列化

    目录 1)序列化 2)为什么不用json序列化 3)django序列化QuerySet,ErrorDict数据 一:序列化 序列化是将对象状态转换为可保持或传输的格式的过程 反序列化是指将存储在存储媒 ...