yum install -y git
mkdir -p /date/gitroot
cd !$
git init

git add 1.txt
git commit -m "add 1.txt"

git log
git log --pretty=oneline

版本回退:
git reset --hard 版本号

恢复文件:
[root@node01 gitroot]# rm -f 1.txt //删除文件
[root@node01 gitroot]# git checkout -- 1.txt //恢复文件
[root@node01 gitroot]# ls
1.txt

撤销修改:
[root@node01 gitroot]# vim 1.txt
[root@node01 gitroot]# git add 1.txt //修改文件后add标记
[root@node01 gitroot]# git reset HEAD 1.txt //取消add标记未commit的文件
Unstaged changes after reset:
M 1.txt
[root@node01 gitroot]# git checkout -- 1.txt //恢复文件修改前的状态

删除文件:
[root@node01 gitroot]# git rm 2.txt
rm '2.txt'
[root@node01 gitroot]# git commit -m "rm 2.txt"
[master 1b5ea11] rm 2.txt
1 files changed, 0 insertions(+), 2 deletions(-)
delete mode 100644 2.txt

删除后若想找回文件,根据版本回退或恢复文件找回已删除文件。

建立远程仓库:
## github.com
## niuyx
## h688xs31
建立repository,
ssh-kengen生成密钥对,将公钥写入远程git项目,
根据repository步骤操作,

[root@node01 gittest]# vim 11.txt
[root@node01 gittest]# git add 11.txt
[root@node01 gittest]# git commit -m "add 11.txt"
[master 25c8810] add 11.txt
1 files changed, 2 insertions(+), 0 deletions(-)
create mode 100644 11.txt
[root@node01 gittest]# git push //将文件推送到远程git
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 311 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:niuyx/gittest.git
285a8bc..25c8810 master -> master

克隆远程仓库/项目:
[root@node01 gittest]# cd
[root@node01 ~]# git clone git@github.com:aminglinux/lanmp.git
Initialized empty Git repository in /root/lanmp/.git/
Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
remote: Enumerating objects: 32, done.
Receiving objects: 100% (32/32), 5.99 KiB, done.
Resolving deltas: 100% (6/6), done.
remote: Total 32 (delta 0), reused 0 (delta 0), pack-reused 32
[root@node01 ~]# ls
anaconda-ks.cfg gittest install.log install.log.syslog ip.sh lanmp svntest
[root@node01 ~]# ll -at lanmp/
total 32
drwxr-xr-x 3 root root 4096 Dec 30 09:56 .
drwxr-xr-x 8 root root 4096 Dec 30 09:56 .git
-rw-r--r-- 1 root root 14871 Dec 30 09:56 lanmp.sh
-rw-r--r-- 1 root root 88 Dec 30 09:56 README.md
dr-xr-x---. 8 root root 4096 Dec 30 09:56 ..

git pull 拉取变更到本地

分支管理:
git branch //查看分支
git branch tichy //创建分支
git checkout tichy //切换到tichy分支下
git merge tichy //先切换到master分支下,合并分支tichy到master
所有变更要先add和commit

两个分支的的不同会在
<<<<<<< HEAD

>>>>>>> aming
之间展示。
而<<<之前或>>>之后的部分是两个分支都相同的地方

A属于B || B属于A ,merge合并不会报错;
A和B有不同内容,则会报错。

远程分支管理:
master分支是非常重要的,线上发布代码用这个分支,平时开发代码不要在这个分支上。
创建一个dev分支,专门用作开发,只有当发布到线上之前,才会把dev合并到master.
开发人员应该在dev的基础上再分支成个人分支,个人分支(在自己pc上)里面开发代码,然后合并到dev分支。
dev分支合并bob分支发命令是,
git checkout dev //先切换到dev
git merge bob

远程分支;
git ls-remote origin 查看远程所有分支

git push两种情况:
当本地分支和远程分支一致时,git push会把所有本地分支的变更一同推送到远程,如果想只推送一个分支,使用git push origin branch-name
当本地分支比远程分支多,默认git push只推送本地和远程一样的分支,想要把多出来的本地分支推送到远程时,使用git push origin branch-name,
如果推送失败,先用git pull抓取远程的新提交。
git clone默认只把master分支克隆下来,如果想把所有分支clone下来,需要手动创建,在本地创建和远程分支对应的分支,
使用git checkout -b branch-name origin/branch-name,本地和远程分支的名字要一致。

标签管理:
标签类似于快照功能,可以给版本库打一个标签,记录某个时刻库的状态。也可以随时恢复到该状态。
git checkout master //先切到master分支上
git tag v1.0 //给master打一个标签v1.0
git show v1.0 //查看标签信息
git tag //可以查看所有的标签
tag是针对commit来打标签的,所以可以针对历史的commit来打tag
git log --pretty=oneline --abbrev-commit //先查看历史的commit
git tag v0.9 46d3c1a //针对历史commit打标签
git tag -a v0.8 -m "tag just v1.1 and so on" 5aacaf4 //可以对标签进行描述
git tag -d v0.8 //删除标签
git push origin v1.0 //推送指定标签到远程
git push --tag origin //推送所有标签
如果本地删除了一个标签,远程也想要删除需要这样操作:
git tag v1.0 -d //删除本地标签
git push origin :refs/tags/v1.0 //删除远程标签

代码管理平台之git的更多相关文章

  1. Visual SVN 企业版代码管理平台的建设

    通常需要完整的SVN的代码管理平台系统的搭建,需要安装三个文件,Visual SVN server  , TortoiseSVN, Visual SVN. Visual SVN server  企业版 ...

  2. 阿里云代码管理平台 Teambition Codeup(行云)亮相,为企业代码安全护航

    2019杭州云栖大会企业协作与研发效能专场,企业协同平台Teambition负责人齐俊元正式发布阿里云自研的代码管理平台Teambition Codeup(行云),Codeup是一款企业级代码管理产品 ...

  3. 代码管理——如何连接Git Server,下载代码

    最近一个项目需要与国外团队合作,而他们的代码在GitLab上,需要使用Git工具连接服务器,对于我这样一个SVN的拥护者,当然很高兴去接受这个工作了(鄙视一下目前单位还使用ClearCase). 但操 ...

  4. 代码管理工具之git的学习

    1.代码管理工具git的学习  http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 2.github的使用帮助   https:// ...

  5. IOS-源代码管理工具(Git)

    一.简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Benedict ...

  6. 从零开始搭建gitea代码管理平台

    Gitea,一款极易搭建的Git自助服务.如其名,Git with a cup of tea.跨平台的开源服务,支持Linux.Windows.macOS和ARM平台.配置要求低,甚至可以运行在树莓派 ...

  7. 代码管理工具:Git 和 Svn 的简单操作

    1. git 先注册git config --global user.name "name" git config --global user.email "email& ...

  8. Docker搭建Gitlab代码管理平台

    一.Gitlab的安装 宿主机环境: CentOS 7 docker docker-compose 1.查找镜像 docker search gitlab 2.拉取镜像 docker pull git ...

  9. git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0

    // ConsoleApplication10.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream& ...

随机推荐

  1. 如何平滑优雅地在Rancher 2.x中升级cert-manager?

    作者: Nassos Michas丨European Dynamics SA, CTO 如果你正在使用由Rancher提供的Helm Chart在Rancher管理的Kubernetes集群中安装ce ...

  2. 侠梦说pinpoint--左侧服务地图调用量和WasOn过滤

    前言 这篇文章主要是从pinpoint-web界面入手,我们的目标是弄清楚两个问题: 1. pinpoint左侧服务地图上的调用量数据是怎么查询的? 2.界面查询条件WasOnly是什么意思? 左侧服 ...

  3. JSON.parse() 报错和一些解决方法

    js 报错 Unexpected end of JSON input,Unexpected token u in JSON at position 0 JSON 通常用于与服务端交换数据. 在接收服务 ...

  4. LeetCode-7.reverse-integer 【翻转字符串】【数学】

    PS: 第一次写文章好累啊,没想到这么短的文章写完这么累,大家给我点反馈,多给我留言啊.

  5. 以面向对象的思维,搭建Android与多ble蓝牙设备并发通讯小框架

    Android连接多蓝牙设备.蓝牙与多设备连接.蓝牙ble多设备并发操作.Android连接不了.Android ble开发框架.Android 连接蓝牙总结 前言 小白请绕道百度,本文适合有一定An ...

  6. 开发者如何学好 MongoDB

    作为一名研发,数据库是或多或少都会接触到的技术. MongoDB 是当前火热的 NoSQL 之一,我们怎样才能学好 MongoDB 呢?本篇文章,我们将从以下几方面讨论这个话题: MongoDB 是什 ...

  7. Python中的Tcp协议的应用之Tcp服务端程序开发

    TCP通信协议是面向连接的可靠的网络通信协议. 网络间想要进行数据传输必须要用到socket,socket翻译过来叫做套接字,其主要作用是不同设备或同一台设备之间的进程通信工具. Python中的Tc ...

  8. Android Selector和Shape的用法

    一.Shape的用法 :shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下: 填充:设置填充的颜色 间隔:设置四个方向上的间隔 大小:设置大小 圆角:同时 ...

  9. 上手spring boot项目(二)之spring boot整合shiro安全框架

    题记:在学习了springboot和thymeleaf之后,想完成一个项目练练手,于是使用springboot+mybatis和thymeleaf完成一个博客系统,在完成的过程中出现的一些问题,将这些 ...

  10. ios开发入门- WebView使用

    转自:http://mahaile.blog.51cto.com/2891586/1021515/ 目标 : webview使用 在一些移动app中,有时程序会载入 外表的html 界面, andro ...