26. Linux GIT
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的更多相关文章
- linux git 推送空文件夹
/********************************************************************************* * linux git 推送空文件 ...
- Linux git 在自己的服务器上建立 git 仓库(repository)
Linux git 在自己的服务器上建立 git 仓库(repository) 服务器端: 在这里使用 ssh 方式登陆: ssh [username]@server_address(建议用超级用户登 ...
- Linux Git服务器安装
① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...
- Linux GIT服务器配置
Linux下安装git插件 1. 下载git网址: https://github.com/git/git/releases 2. 放入usr/src/下 3. tar -zxvf git-** ...
- linux git 安装方法
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Window ...
- Linux git 关联 github仓库
背景: 由于最近学习Spring cloud docker 一键部署, 需要把github仓库项目, 放在Linux上面启动, (以下位置在/root/目录中执行)步骤, 1:安装 git >y ...
- Linux+Git命令
Linux 文件与目录 cd命令: $ cd [path] //path为路径名称,这只是常规语法 1 详细用法如下: $ cd /d //进入d盘 $ cd d: //进入d盘 $ cd D: // ...
- linux git保存用户名密码(避免每次push输用户名密码)
Linux/Unix/Mac 系统 新建一个 ~/.netrc 文件, 将 git 服务器, 用户名以及密码记录在这个文件, 如下所示: machine your-git-server log ...
- [linux] Git基本概念&操作
1.基本概念 版本控制系统:一种软体工程技巧,籍以在开发的过程中,确保由不同人所编写的同一项目代码都得到更新.并追踪.记录整个开发过程. 集中式(SVN)/ 分布式(GIT)版本控制系统:SVN的版本 ...
随机推荐
- Python | 标识符命名规范
简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量.函数.类.模块以及其他对象的名称. Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如 ...
- 奔跑吧linux-第三章实验
基于树莓派+openeuler平台 实验 3-2:汇编语言练习--查找最大数 1.实验目的 通过本实验了解和熟悉 ARM64 汇编语言. 2.实验要求 使用 ARM64 汇编语言来实现如下功能:在给定 ...
- 最近公共祖先(lca)与树上叉分
lca的定义不在过多解释, 代码如下: inline void bfs() { queue<int>q; deep[s]=1;q.push(s); while(!q.empty()) { ...
- 利用pyplot绘制sin(x)和cos(x)的组合图像
一.实验目标 (1) 掌握numpy库的使用 (2) 掌握matplotlib库的使用 (3) 掌握pyplot的基本函数和方法 二.实验内容 import matplotlib.pyla ...
- SpringCloud 2020.0.4 系列之 Bus
1. 概述 老话说的好:会休息的人才更会工作,身体是革命的本钱,身体垮了,就无法再工作了. 言归正传,之前我们聊了 SpringCloud 的 分布式配置中心 Config,文章里我们聊了config ...
- 在 macOS 上运行无限许可的 Nessus 10
请访问原文链接:https://sysin.org/blog/nessus-unlimited-on-macos/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页: ...
- JMeter学习笔记--工具简单介绍
一.JMeter 介绍 Apache JMeter是纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java ...
- springmvc学习笔记(全)
SpringMVC简介 什么是MVC MVC是一种软件架构的思想,将软件按照模型.视图.控制器来划分 M: Model:模型层,指工程中的JavaBean,作用是处理数据.JavaBean分为两类: ...
- 后台管理系统:vue&node&MongoDB(一)
后台管理系统 使用工具: Vue Node Mongodb Element-ui 一.后台(Node+Mongodb) 前期准备: 需要下载的包: mongooes -------- ...
- Java try catch语句块中try()的括号中代码作用
了解过Mybatis,都知道DefacltSqlSession是线程不安全的.每次执行查询都需要新建一个sqlSession.因此官方给的建议写法如下: Mybatis3 从 SqlSessionFa ...