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的版本 ...
随机推荐
- surrounded-regions leetcode C++
Given a 2D board containing'X'and'O', capture all regions surrounded by'X'. A region is captured by ...
- 0x03
指数级枚举:1到n任意选取的所有方案数: #include<bits/stdc++.h> using namespace std; int n,a[1100],vis[1100],cnt, ...
- hdu 5179 beautiful number(构造,,,,)
题意: 一个如果称作是漂亮数,当且仅当满足: 每一位上的数字是[1,9],从高到时低数字大小降序,且有di%dj=0(i<j) 例:931 给一个区间[L,R],问这个区间里有多少个漂亮数. 1 ...
- hdu 5175 Misaki's Kiss again(GCD和异或)
题意: 给一个数N. 如果GCD(N,M) = N XOR M,则称M是一个kiss 1<=M<=N 问总共有多少个kiss.并且列出所有的值. 思路: 思路一:枚举M.有大量的GCD ...
- PTA 最小堆插入元素和删除堆顶(无哨兵元素) (20分)
PTA 最小堆插入元素和删除堆顶(无哨兵元素) (20分) 对于给定的最小堆(优先队列),分别实现插入元素和删除堆顶的函数. 函数接口定义: int insertIntoHeap(struct Hea ...
- PTA 7-3 树的遍历 (25分)
PTA 7-3 树的遍历 (25分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点 ...
- 设计模式学习-使用go实现代理模式
代理模式 定义 优点 缺点 应用场景 代码实现 参考 代理模式 定义 定义:为其对象提供一种代理以控制这个对象的访问.通俗点讲就是它在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类 ...
- 第九届网安竞赛writeup
web easysql[已解决] uname=a') union select 1,extractvalue(1, concat(0x7e, (select database()),0x7e))#&a ...
- c++学习笔记(九)
引用(reference) 概念 引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字. 一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量. 用法 变量名称是变量附属在内存 ...
- [atARC125F]Tree Degree Subset Sum
令$a_{i}$为$i$的度数-1,那么$(x,s)$合法即等价于存在$S\subseteq [1,n],|S|=x$且$\sum_{k\in S}a_{k}=s$ 引理:$(x,s)$合法的必要条件 ...