windows git

下载链接: Msysgit   https://git-scm.com/download/win

1 进入git bash进行第一次配置

git config --global  user.name "your name"

git config --global user.email "***.com"

git config --list 查看配置列表

2 Git 仓库

git init 初始化本地仓库

git add  file 添加文件到暂存区  ---》(git reset HEAD file 恢复文件从暂存区到未暂存区,即清楚git add动作) --》(git checkout -- file 删除修改,discard changes in working directory)

git commit -m "log msg" file 提交文件到本地仓库

git status 查看文件状态

git reset --hard 版本哈希号 (恢复到某个版本)

git rm file (删除文件)

远程仓库

1. 配置SSH keys

登录 https:/github.com -> Settings -> SSH and GPG keys

1) add New SSH key

2) ssh-keygen -t rsa -C "826423614@qq.com"  生成公钥  id_rsa.pub

3)ssh -T git@github.com 测试是否连接成功

4) 添加远程仓库 New repository

echo "# git_study" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/Meer6767/git_study.git
git push -u origin master
第一次git push可能需要输入密码和用户名,就是登陆github的用户名密码

克隆仓库
git clone https://github.com/Meer6767/git_study.git

git每次pull或push都要输入用户名和密码解决方法
git config --global credential.helper store
这个命令是在本地生成一个账号密码文件,这样就不用每次都输入了(但是还得输入一次)

这个指令对于windows,linux都是通用的!!!

可以通过命令

cat ~/.git-credentials

标签管理

 git checkout tag_name 取得对应tag的代码

tag是对历史提交的一个id的引用,如果理解这句话就明白了tag的含义

使用git checkout tag即可切换到指定tag,例如:git checkout v0.1.0

切换到tag历史记录 会使当前指针处在分离头指针状态,这个时候的修改是很危险的,在切换回主线时如果没有合并,之前的修改提交基本都会丢失,如果需要修改可以尝试git checkout -b branch tag创建一个基于指定tag的分支,例如:git checkout -b test v0.1.0 这个时候就在这个test分支上进行开发,之后可以切换到主线合并。

注意这时候的test分支的代码很多都是tag版本处的,但是test分支head节点在最前面,这时候切换到主线进行合并,要注意合并后的代码冲突问题,不要让旧代码覆盖了主线的新代码。

git checkout -B
这个命令,可以强制创建新的分支,为什么加-B呢?如果当前仓库中,已经存在一个跟你新建分支同名的分支,那么使用普通的git checkout -b 这个命令,是会报错的,且同名分支无法创建。如果使用-B参数,那么就可以强制创建新的分支,并会覆盖掉原来的分支。

git checkout -B test v0.1.0 强制创建一个基于指定的tag的分支。

分支管理

默认有个master分支
git branch branch_name 添加新分支
git branch 列出分支
git checkout branch_name 切换分支
git branch master, git merge branch_name 将分支的代码合并到master里
git branch -d branch_name 删除无用的分支


26. Linux GIT的更多相关文章

  1. linux git 推送空文件夹

    /********************************************************************************* * linux git 推送空文件 ...

  2. Linux git 在自己的服务器上建立 git 仓库(repository)

    Linux git 在自己的服务器上建立 git 仓库(repository) 服务器端: 在这里使用 ssh 方式登陆: ssh [username]@server_address(建议用超级用户登 ...

  3. Linux Git服务器安装

    ① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...

  4. Linux GIT服务器配置

    Linux下安装git插件 1. 下载git网址:     https://github.com/git/git/releases 2. 放入usr/src/下 3. tar -zxvf git-** ...

  5. linux git 安装方法

    最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Window ...

  6. Linux git 关联 github仓库

    背景: 由于最近学习Spring cloud docker 一键部署, 需要把github仓库项目, 放在Linux上面启动, (以下位置在/root/目录中执行)步骤, 1:安装 git >y ...

  7. Linux+Git命令

    Linux 文件与目录 cd命令: $ cd [path] //path为路径名称,这只是常规语法 1 详细用法如下: $ cd /d //进入d盘 $ cd d: //进入d盘 $ cd D: // ...

  8. linux git保存用户名密码(避免每次push输用户名密码)

    Linux/Unix/Mac 系统 新建一个 ~/.netrc 文件, 将 git 服务器, 用户名以及密码记录在这个文件, 如下所示:   machine your-git-server   log ...

  9. [linux] Git基本概念&操作

    1.基本概念 版本控制系统:一种软体工程技巧,籍以在开发的过程中,确保由不同人所编写的同一项目代码都得到更新.并追踪.记录整个开发过程. 集中式(SVN)/ 分布式(GIT)版本控制系统:SVN的版本 ...

随机推荐

  1. (一)FastDFS 高可用集群架构学习---简介

    1.什么是FastDFS FastDFS 是余庆老师用c语言编写的一筐开源的分布式文件系统,充分考虑了冗余备份,负载均衡,线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS可以很容易搭建一 ...

  2. php linux yaml 的安装和使用

    安装: 1 下载yaml包 wget http://pyyaml.org/download/libyaml/yaml-0.2.2.tar.gz tar -zxvf yaml-0.2.2.tar.gz ...

  3. RocketMQ源码详解 | Broker篇 · 其三:CommitLog、索引、消费队列

    概述 上一章中,已经介绍了 Broker 的文件系统的各个层次与部分细节,本章将继续了解在逻辑存储层的三个文件 CommitLog.IndexFile.ConsumerQueue 的一些细节.文章最后 ...

  4. Jmeter分布式 (三)

    一.什么是分布式测试 分布式测试是指通过局域网和Internet,把分布于不同地点.独立完成特定功能的测试计算机连接起来,以达到测试资源共享.分散操作.集中管理.协同工作.负载均衡.测试过程监控等目的 ...

  5. vue禁用浏览器回退

    解决方案 mounted() { history.pushState(null, null, document.URL) window.addEventListener('popstate', () ...

  6. Cookie、Session、localStorage、sessionStorage区别和用法

    Cookie 在学习一个新知识点前,我们应该明白自己的学习目标,要带着疑问去学习,该小节须要了解 Cookies 什么是cookie,cookie的作用 cookie的工作机制,即cookie是运作流 ...

  7. ucharts tooltip弹窗自定义换行

    这个东西吧,也许是因为菜,看了3小时,下面给出解决方案 1. 找到源码下面的这个文件 2. 增加绿色方框中的代码 3.组件调用的时候有一个opts属性 :opts="{ extra: { t ...

  8. java自定义序列化

    自定义序列化 1.问题引出 在某些情况下,我们可能不想对于一个对象的所有field进行序列化,例如我们银行信息中的设计账户信息的field,我们不需要进行序列化,或者有些field本省就没有实现Ser ...

  9. Django笔记&教程 5-2 进阶查询——Queryset

    Django 自学笔记兼学习教程第5章第2节--进阶查询--Queryset 点击查看教程总目录 Queryset相关内容其实蛮多的,本文只介绍一些常用的,详细的推荐查询官方文档:queryset-a ...

  10. updatexml和extractvalue函数报错注入

    updatexml()函数报错注入 updatexml (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为XM ...