安装Git(linux centos平台)

源代码方式安装

1.装依赖

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

2.下源代码并编译安装

地址:

http://git-scm.com/download

编译安装:

$ tar -zxf git-1.7.2.2.tar.gz

$ cd git-1.7.2.2

$ make

$ sudo make  install

二进制包安装

$ yum install git-core



使用Git

#建立自己的工作文件夹

sudo mkdir /var/www/site/mycitsm_zyz

cd /var/www/site/mycitsm_zyz

#从代码仓库clone代码

sudo Gitclone ssh://username@ip:port/path/to/example.git  /path/to/workdir



#克隆代码到自己的工作文件夹后先设置用信息以便于识别更新来源

$ git config user.name "username"

$ git config user.email username@example.com

#忽略某些文件

在工作文件夹下创建并编辑.gitignore文件,写入想忽略的内容

例子:

$ cat .gitignore

*.pyc

*.pyo

test_*

*.bak

之后便能够在自己的工作文件夹中编辑并提交代码。



一般工作流程

#更新代码

$vim /path/to/file



#查看文件状态

$git status



#暂存更新

$git add /path/to/file



#本地提交更新

$git commit -m "说明信息"

或通过

$git commit -v 编写更具体的提交说明并将具体的更新内容记录在内。

#推送本地更新到远程仓库

$git push origin master(origin为假定的远程仓库名。master是默认分支)



#从远程仓库拉取新内容

$git pull origin



#获取帮助

$git help

#新建分支

$git branch branchname

#切换分支

$git checkout branchname

#上述两步可合并为一步

$git checkout -b branchname

#合并分支

先切回主分支$git checkout master

再合并分支到主分支$git merge branchname

#查看分支

$git branch

#仅查看未合并分支

$git branch --no-merged

#仅查看已合并分支

$git branch --merged

#删除分支(已合并)

$git branch -d branchname

#删除分支(不管是否已合并)

$git branch -D branchname

#查看未暂存文件的与改动前的差异

$git diff



#查看已暂存文件与上次提交时快照之间的差异

$git diff --cached



#移除文件

$git rm /path/to/file



#仅从跟踪清单删除不从工作文件夹删除

$git rm --cached /path/to/file



#移动文件

$ git mv file_from file_to



#查看提交历史

$ git log



#改动最后一次提交

$ git commit --amend



#取消已暂存文件

$ git reset HEAD /path/to/file



#取消对文件对的改动

$git checkout -- /path/to/file



#回退

$git reset--mixed HEAD~N

$git reset--soft HEAD~N

$git reset--hard HEAD~N

当中N表示近期的N次提交。这里也能够是某次提交后返回的版本号唯一标识(可通过$git log获取到)

--mixed保留修改,回退commit和index

--soft保留修改。回退commit。不回退index

--hard彻底回退到某个版本号



#查看当前远程库

$git remote -v



#从远程库拉取更新

$git fetch origin



#合并拉取的更新的分支到本地分支

$git merge origin/master



以上两步可合并为一步

$git pull origin

在项目开发中使用Git版本号控制工具以提高效率的更多相关文章

  1. 项目开发中的git简单使用

    原文地址: https://www.zhuyilong.fun/tech/the-blog-git.html 示例远程仓库地址: https://github.com/zhu-longge/gitWo ...

  2. 团队项目开发中,常见的版本控制有svn,git

    团队项目开发中,常见的版本控制有svn,git

  3. 开发中关于Git那些事

    如果你想精通Git,直接到 Git官网 把这本ProGit掌握已足以Pro Git 此文主要介绍一切开发中常用的git命令和一些配置技巧(诸如git别名配置,log打印技巧,版本回退以及分支管理等). ...

  4. 炼金术(1): 识别项目开发中的ProtoType、Demo、MVP

    软件开发是很分裂的,只有不断使用原则和规律,才能带来质量. 只要不是玩具性质的项目,项目应该可以大概划分为0-1,1-10,10-100,100-1000四个种重要阶段.其中,0-1是原型验证性的:1 ...

  5. fir.im Weekly - iOS开发中的Git流程

    本期 fir.im Weekly 收集了微博上的热转资源,包含 Android.iOS 开发工具.源码等好用的轮子,还有一些 APP 设计的 Tips,希望对你有用. 精仿知乎日报 iOS 端 @我偏 ...

  6. 开发中关于Git那些事(续:Git变基)

    其实上一篇写的内容仅仅是Git的冰山一角,如果你认为Git就是简简单单的几行命令,那只能说明你还没有真正了解Git这个强大的内容寻址文件系统.这篇文章,还是接着介绍一些实用但是很少有人知晓的一些命令, ...

  7. 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获

    项目开发中的一些注意事项以及技巧总结   1.jquery采用ajax向后端请求时,MVC框架并不能返回View的数据,也就是一般我们使用View().PartialView()等,只能返回json以 ...

  8. Angular 项目开发中父子组件传参

    在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...

  9. 《Maven在Java项目开发中的应用》论文笔记(十七)

    标题:Maven在Java项目开发中的应用 一.基本信息 时间:2019 来源:山西农业大学 关键词:Maven:Java Web:仓库:开发人员:极限编程; 二.研究内容 1.Maven 基本原理概 ...

随机推荐

  1. 读《实战GUI自动化测试》之:第三步,如何提高测试结果分析的效率

    转自:http://www.ibm.com/developerworks/cn/rational/r-cn-guiautotesting3/ 所谓自动化测试,就是“自动化”+“测试”.自动化本身显然不 ...

  2. 面试中的一些小问题之html5和html4的区别?

    HTML5建立的一些新规则: 新特性应该基于HTML.CSS.DOM.JavaScript: 减少对外部插件的需求,如flash将会用video标签和audio标签代替: 更加优秀的错误处理: 更多取 ...

  3. PHP填坑

    这里记录下最近PHP踩过的坑,很多都是语法性错误 (1)函数结尾忘记加: 例如匿名函数 <?php $show = function($value){ echo $value."你好& ...

  4. Linux:RHEL7图形界面转文字

    1.7 Systemd初始化进程 Linux操作系统开机过程首先从BIOS开始→进入"Boot Loader"→加载系统内核→内核进行初始化→启动初始化进程.初始化进程作为系统第一 ...

  5. Python面向对象之面向对象封装案例

    面向对象封装案例 封装 封装是面型对象编程的一大特点 面向对象编程的第一步--将属性和方法封装到一个抽象的类中: 外界使用类创建对象,然后让对象调用方法: 对象方法的细节都被封装在类的内部. 一个对象 ...

  6. 洛谷 1062 NOIP2006普及T4 数列

    [题解] 鲜活的水题..我们把数列换成k进制的,发现数列是001,010,011,100,101,110,111...,而第m项用k进制表示的01串刚好就是m的二进制的01串.于是我们预处理k的幂,把 ...

  7. phpcms 搭建宣传网站首页

    1 .修改后台提交的表单信息展示: 文件路径: phpcms\modules\formguide\template\formguide_info_list.tpl.php function getQu ...

  8. Spring 事务XML配置

    <!-- 配置 Spring 的声明式事务 --> <!-- 1. 配置事务管理器 --> <bean id="transactionManager" ...

  9. 【14】AngularJS 表单

    AngularJS 表单 AngularJS 表单是输入控件的集合. HTML 控件 以下 HTML input 元素被称为 HTML 控件: input 元素 select 元素 button 元素 ...

  10. 【Codeforces 372A】Counting Kangaroos is Fun

    [链接] 我是链接,点我呀:) [题意] 如果a[i]*2<=a[j]那么i袋鼠可以装进j袋鼠里面 每只袋鼠都只能装一只袋鼠 [题解] 假设最后的方案是(ai,bi) 这里(ai,bi)表示下标 ...