Git & GitHub
  1. Git是一个工具,用于命令行操作
  2. GitHub是一个协同工作平台
包括:
    1. Remote original Repository - 远程主仓库(上线唯一仓库)
    2. Remote personal Repository - 远程个人仓库(管理个人代码)
    3. Local Repository - 本地版本库
    4. Temp Repository - 暂存库
    5. Terminal Repository - 工作区
Git安装配置
用户信息
  1. 配置全局用户信息
git config --global user.name "[name]"
git config --global user.email "[email]"
  1. 查看全局配置信息
git config --global --list
  1. 配置当前仓库用户信息
git config user.name "[name]"
git config user.email "[email]"
  1. 查看当前仓库配置信息
git config --local --list
  1. 查看配置信息
git config --list
  1. 查看某项配置信息
git config user.name 这里的 user.name可以是其他参数
Git工作流程
Master资源 - 本账户Git资源 - 本地资源
一般的工作流程如下:
  1. 将远程唯一最新Master资源fork到本账户Git资源
  2. 克隆本账户Git资源到本地
  3. 在本地的资源上做修改
  4. 查看修改、提交修改到本账户Git资源、撤回修改
  5. 将本账户Git资源的修改提交到Master资源,pull request
  6. 如果Master资源有修改,可以更新本账户Git资源
Git工作区、暂存区和版本库
  1. 工作区:本地电脑的工作目录
暂存区:本地修改暂时存放的地方
版本库:本地修改的版本记录
    1. git add - 工作区的修改更新到暂存区
    2. git commit - 暂存区的修改更新到版本库
    3. git reset HEAD - 暂存区被master分支指向的目录被替换
    4. git checkout - 清除工作区中未添加到暂存区的改动
    5. git checkout HEAD - 用master分支的内容清除工作区中未提交的改动、清除暂存区中未提交的改动
Git 远程仓库
Git不像SVN是中心服务器,如果要分享协作,需要将数据放到服务器上,将Github作为远程仓库服务器
Github作为远程仓库的资源,与本地Git资源通过Https或SSH协议传输,SSH方式更安全,且无序多次输入用户名密码
  1. ssh -keygen -t rsa -C "[email]" - 生成SSH公钥key,找到 cat ~/.ssh/id_rsa.pub,并复制显示内容
  2. 回到Github,在账户中添加SSH key,将第1步复制的内容粘贴到SSH key内容中
  3. ssh -T git@github.com - 验证SSH key是否添加成功
  4. 在Github上新建repository,或fork其他资源到本人Github资源
    1. 对于新建的repository,在本地及其目录新建文件夹,git init命令初始化, git add or git commit -m等添加内容,通过git remote add命令与本人Github资源绑定
    2. 对于已经存在的repository (fork到本人的Github资源,或已有的Github资源) , clone到本机
  1. git remote add (alias) [url]
举例:
git remote add origin git@github.com:tianqixin/runoob-git-test.git
  1. git push -u origin master - 将本地的修改提交到远程仓库上
  2. git remote - 查看当前的远程库,参数-v,可查看实际连接地址
  3. git fetch (remote name) (branch name) - 拉取远程仓库的分支内容
  4. git merge (remote name)/(branch name) - 将远程仓库的分支内容合并到本地分支,--no-ff参数,阻止快速直接合并,并且构造一个合并的commit,可以与原项目进行differ比较
  5. git push (remote name) [branch] - 将本地目录的当前分支提交到远程仓库某分支
  6. git push (remote name) :[branch] - 删除远程分支,命令行 : $ git push origin --delete (BranchName)>
Git创建仓库
  1. git init - 将某个文件目录初始化未一个Git仓库,会生成一个.git目录,包含资源的元数据,其他项目目录保持不变,SVN则会在每个子目录生成.svn目录
  2. git clone - 将Git远程资源拷贝到目录
Git基本操作
  1. git init or git clone
  2. git config
  3. git status - 查看项目的当前状态
  4. git diff (file name) - 显示 已写入暂存 与 已修改但未写入暂存的区别
  5. git add (file name) - 将文件添加到暂存
  6. git reset HEAD (file name) - 取消已暂存的内容,HEAD可省略
  7. git commit -m "[my commit]" - 将暂存区的内容添加到版本仓库中,-m则无需新开编辑器以填写提交信息
Git分支管理
使用分支可以从主线上分离开来,不影响主线的同时继续工作
  1. git branch (branch name) - 创建分支
  2. git checkout (branchn name) - 切换到分支
  3. git checkout -b (branch name) - 创建并切换到分支
  4. git branch - 显示分支
  5. git branch -d/-D (branch name) - 删除分支
  6. git push origin --delete (branch name) - 删除远程分支
  7. git merge (branch name) - 合并本地分支,(branch name)可以是master等任意分支
  8. git add (file name) - 如果有冲突,解决冲突后使用add命令告知已解决
Git查看提交历史
  1. git log - 查看详细历史
  2. git reflog - 查看索引历史,会有commit版本
  3. git reset --hard Head^ - 彻底恢复到之前的版本,本地的内容会恢复, ** *慎用* ** !
  4. git reset (reflog no) 或 (filename) - 恢复到某个commit版本或某个文件,本地的内容不会变化,** *慎用* ** !
Git 其他命令
  1. 未提交的内容可先储藏
git stash - 将未提交的内容暂时储藏
git stash pop - 将最近的一个储藏恢复
  1. 远程分支已不存在,git branch又可见,想删除
git remote show origin
git remote prune origin
  1. 查看两个分支的不同
git log --left-right Feature_Pontus_UK_Dev...Feature_Pontus_UK_Live_Running
罗列出的commit,左箭头表示第一个分支有的,右箭头表示第二个分支有的
  1. 重新替换某分支
git fetch (remote name)
git fetch (remote branch name)
git checkout - b (new branch name) (remote name)/(remote branch name)
git branch -D (old branch name) - 删除分支
git branch -m (new branch name) (aim branch name)
git push -f origin (aim branch name)
举例:
jony要将自己的master分支替换成remote仓库pontus的master分支
git fetch pontus master
git checkout -b Feature_PontusMaster pontus/master
git branch -D master
git branch -m Feature_PontusMaster master
git push -f origin master

Git命令和使用的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. 工作中常用的git命令

    一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...

  3. 常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  4. 常look的Git命令

    常用的Git命令   命令  简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply   应用补丁 git am  应用邮件格式补丁 git a ...

  5. ***Linux下使用git命令及github项目

    在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen  ##一直默认就可以了 3.将公钥加入到Github账户 ...

  6. 我所记录的git命令(非常实用)

    一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...

  7. GIT命令行的使用

    新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...

  8. 简明 Git 命令速查表(中文版)

    原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...

  9. 常用 Git 命令清单 转

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  10. 日常开发使用GIT命令

    git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 gi ...

随机推荐

  1. 一次修复linux的efi引导的集中方法总结记录

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/grub_uefi_repair 起因:EFI分区被删除导致引导问 ...

  2. HttpClient介绍和简单使用流程

    HttpClient SpringCloud中服务和服务之间的调用全部是使用HttpClient,还有前面使用SolrJ中就封装了HttpClient,在调用SolrTemplate的saveBean ...

  3. 【BIRT】修改主题背景颜色

    下图是BIRT默认的颜色配置,为了跟系统颜色格局相一致,此处需要对颜色进行修改; 下面简单介绍了如何修改不同位置的背景颜色 对应文件地址均在目录:../webcontent/birt/styles下 ...

  4. 刷题记录:[De1ctf] shell shell shell

    目录 刷题记录:[De1ctf] shell shell shell 一.知识点 1.源码泄露 2.正则表达式不完善导致sql注入 3.soapclient反序列化->ssrf 4.扫描内网 5 ...

  5. 剑指offer:字符流中第一个不重复的字符

    题目描述: 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读 ...

  6. coredump之栈溢出

    1.栈溢出引发的core往往出现出现在递归调用中. gdb时看到的特征是: 栈缺失,当前栈地址不可读. 根据栈是逆向生长的特点(栈逆向生长,所以很容易出现类似数组溢出覆盖率函数返回地址,导致函数退出地 ...

  7. git 只提交部分修改文件

    1.git status //查看修改文件状态 2.git add  //将想要提交的文件add到本地库 4.git status  //查看修改文件状态 3.git commit  //提交add到 ...

  8. Android apk在线升级

    APK 在线升级 APK 在线升级几乎是所有程序必备的功能. 在线升级功能能解决已有的问题并提供更丰富的新功能. 基本的流程是: 检测到新版本信息 弹出升级提示窗口 点击 No 不进行升级,完毕! 点 ...

  9. linux升级openssl和php_openssl模块

    一.OpenSSL源码升级 2014年4月8日,XP宣布正式停止服务的日子,也是OpenSSL爆出大漏洞的日子. OpenSSL主要是负责在一些敏感的数据提交上面被广泛使用,不乏大家经常访问的一些网站 ...

  10. git clone速度太慢的解决办法(亲测还有效)

    https://www.linuxidc.com/Linux/2019-05/158461.htm 1.查找域名对应的ip地址,并修改hosts文件 linuxidc@linuxidc:~/linux ...