【Git】从服务器搭建到提交分支使用——初学者轻松上手篇
GitHub就是一个免费托管开源代码的远程仓库,个人可以把代码寄存处上面,不过会被公开。对于商业公司来说在Linux上搭建一台Git服务器作为私有仓库使用。开发人员在本地下载仓库代码,协同开发。本篇介绍服务器搭建与Git基本命令的使用。
一、服务器搭建步骤如下:
1、安装git依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
2、删除已有的git
yum remove git
3、下载git源码
切换到你的包文件存放目录下
cd /usr/src
下载git安装包
wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz
解压git安装包
tar -zxvf git-2.8.3.tar.gz
cd git-2.8.3
配置git安装路径
./configure prefix=/usr/local/git/
编译并且安装
make && make install
查看git版本号
git --version
git已经安装完毕
4、将git指令添加到bash中
vi /etc/profile
在最后一行加入
export PATH=$PATH:/usr/local/git/bin
让该配置文件立即生效
source /etc/profile
5、设置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
6、创建用户组和用户
groupadd git
useradd git -g git
7、创建证书登录
用户想要登录Git仓库必须把公钥信息放到/home/git/.ssh/authorized_keys文件里,一行一个。
cd /home/git/
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
如何查看本地公钥呢?开发者在本地安装完window版git后,默认存放地址在:
C:\Users\Administrator\.ssh\id_rsa.pub。如果没有要自动生成,在Git Bash中执行:
$ cd ~/.ssh
$ ssh-keygen
然后依次输入生成公钥路径和密码,确认密码,之后去路径下打开文件就能看到这种信息,粘贴到authorized_keys文件中。
8、初始化Git仓库
$ cd /home
$ mkdir learngit
$ cd learngit/
$ pwd
/home/learngit
$ git init
Initialized empty Git repository in /home/learngit/.git/
9、克隆仓库
开发人员在本地切换到你要下载代码的路径下执行,其中58.87.117.26是安装服务器的IP,/home/learngit 是仓库路径。
$ git clone git@58.87.117.26:/home/learngit
Cloning into 'learngit'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
二、Git基本命令的使用
首先设置用户名与邮箱信息,参照上述序号5。然后就可以操作添加提交移除等操作了。以下通过Git Bash 方式完成。
1. 查看项目状态
git status -s
文件gittest是仓库原有的,summer_git1.txt和summer_git1.txt是在本地新创建的,缓存内没有前面标有??。
2. 添加到缓存
git add summer_git1.txt summer_git2.txt
修改文件summer_git1.txt,再查看状态,"AM" 状态的意思是,这个文件在我们将它添加到缓存之后又有改动。改动后我们再执行 git add 命令将其添加到缓存中:
3. 提交文件
-m 选项以在命令行中提供提交注释
git commit -m '第一次版本提交'
查看状态:
发现git1文件被修改状态,原因是在修改之后文件没有放到缓存区,所以提交时候没有它。可以先git add再commit文件,或者跳过添加直接提交:
git commit -am '修改git1文件'
再查看状态,没有需要提交的文件了:
4. 推送分支
从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。
把本地分支上的所有提交推送到远程库分支上。
4.1 查看本地分支
git push origin master
4.2 新建分支dev
git branch dev
4.3 切换到分支dev
$ git checkout dev
Switched to branch 'dev'
4.4 删除分支
git branch -d testing
4.5 推送分支
将本地dev分支推送到远程的dev分支上。
git push origin dev
报错一,项目中有和历史不符的东西
$ git push origin dev
To 58.87.117.26:/home/learngit
! [rejected] dev -> dev (fetch first)
error: failed to push some refs to 'git@58.87.117.26:/home/learngit'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
根据提示尝试逐条执行解决方式:
git fetch origin dev
git pull origin dev
终极解决方式:
git pull origin dev –allow-unrelated-histories
git push -u origin dev -f
报错二,分支目前被检出状态,问问其他小伙伴谁在占用吧!
5. 清空缓存
git reset HEAD
6. 删除(通常在本地删除文件,再提交)
# 删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
git rm -f <file>
# 把文件从暂存区域移除,但仍然希望保留在当前工作目录中,仅是从跟踪清单中删除,使用--cached 选项即可
git rm --cached <file>
7. 查看日志
以简洁的方式查看20180908之后的操作日志:
$ git log --oneline --after={2018-09-08}
7408abe (HEAD -> dev) 删除文件
15012f9 (origin/dev) 提交文件3
afe0b1c (master) 修改git1文件
fca4df6 第一次版本提交
【Git】从服务器搭建到提交分支使用——初学者轻松上手篇的更多相关文章
- 【SVN】Linux下svn搭建配置全过程——初学者轻松上手篇
版本控制主要用到的是git和svn,其中svn界面化使用操作简单,本篇简单介绍SVN搭建配置全过程. 1. 下载并安装 yum install subversion 查看版本 svnserve --v ...
- Git本地服务器搭建及使用详解
Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...
- SVN服务器搭建之提交日志模版构建
SVN服务器搭建之提交日志模版构建 日志提交有两种 一种是自己客户端设置提交日志模版,这个只适用于自己,没办法强制性运用到项目中,只能依照每个人的自觉性来处理. 第二种方法是SVN服务器设置提交日志模 ...
- git 服务器搭建及提交代码检查
本地 git 服务,通常都会选择 gitlab.本人最先也是选择 gitlab,在 centos7 上按照官网的步骤进行安装,下载的速度难以忍受,无奈放弃.最终选择在 docker 中安装 gogs ...
- Git本地服务器搭建
安装编译环境,执行以下命令 [root@centos6 ~]# yum -y install curl curl-devel zlib-devel openssl-devel perl cpio ex ...
- Windows平台下Git(gitblit)服务器搭建
环境:Windows 10 专业版32位 因为公司服务器上已经搭了Visual SVN等,只好在Windows上搭个Git Server给大家用. 参考链接:http://www.cnblogs.co ...
- git server服务器搭建
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579 ...
- SVN服务器搭建和配置使用详解
SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...
- linux git server 简易搭建 (ssh访问)
git的服务器搭建,如果无需权限控制,仅团队内部使用,初始化一个服务器仓库,其他人通过ssh访问这个文件夹即可.如需复杂的管理,建议使用gitlab. yum install git -y id gi ...
随机推荐
- nova scheduler 介绍
在 openstack 中,scheduler 负责从宿主机(运行 nova-compute 的节点)中根据一系列的算法和参数(CPU 核数,可用 RAM,镜像类型等 )选择出来一个,来部署虚拟机(i ...
- mysql-定时对表分区
1, 分区 具体可见: http://blog.csdn.net/open_data/article/details/46893331 1, 分区类型: RANGE分区:基于属于一个给定连续区间的列值 ...
- ASP.NET MVC View中的标签(tag)
在编辑View的时候会用到各种HTML标签,如<a>,<input>,<p>等待,这些标签在ASP.NET MVC中都有对应的编程语法,它叫Razor,它是帮助我们 ...
- WPF装饰器
装饰器定义: 装饰器是一种特殊类型的 FrameworkElement,用于向用户提供可视化提示. 对于其他用户,装饰器可用于将功能控点添加到元素中或提供有关控件的状态信息. 装饰器可以在不改变原有的 ...
- Spark(1.6.1) Sql 编程指南+实战案例分析
首先看看从官网学习后总结的一个思维导图 概述(Overview) Spark SQL是Spark的一个模块,用于结构化数据处理.它提供了一个编程的抽象被称为DataFrames,也可以作为分布式SQL ...
- 快速把项目部署到webLogic上
weblogic简介BEA WebLogic是用于开发.集成.部署和管理大型分布式Web应用.网络应用和数据库应 用的Java应用服务器.将Java的动态功能和Java Enterprise标准的安全 ...
- Linux 下面解压.tar.gz 和.gz文件解压的方式
Linux 下面解压.tar.gz 和.gz文件解压的方式 两种解压方式 1 .tar.gz 使用tar命令进行解压 tar -zxvf java.tar.gz 解压到指定的文件夹 tar -zxvf ...
- T4模板根据数据库表和列的Description生成代码的summary的终极解决方案
相信很多人都用T4模版生成代码,用T4模版生成标准代码真的很方便.我们经常根据表生成相关的代码, 但是估计很多人都遇见过同一个问题, 特别是我们在生成model的时候,代码中model中的Summar ...
- 设计模式学习总结(一)——设计原则与UML统一建模语言
一.概要 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结. 使用设计模式的目的:为了代码可重用性.让代码更容易被他人理解.保证代码可靠性. 设计 ...
- 奇妙的数字-2015省赛C语言A组第三题
奇妙的数字 小明发现了一个奇妙的数字.它的平方和立方正好把0~9的10个数字每个用且只用了一次.你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容.