安装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

最新文章

  1. Livecoding.tv2.5发布,增加“用户搜索引擎”功能,方便用户找到匹配的程序员
  2. phalcon: 多模块多表查找,多表sql
  3. 字符串对象-String
  4. 教务管理系统数据库E/R图
  5. Objective-C语言的面向对象特性
  6. SQL注入测试平台 SQLol -1. 简介与安装
  7. http协议传输二进制数据以及对输入流(php://input)和http请求的理解
  8. PHP 碎片
  9. poj 3469 Dual Core CPU【求最小割容量】
  10. Activity 怎样获得另一个xml布局文件的控件
  11. 用java具体代码实现分数(即有理数)四则运算
  12. C# 日期格式转换 string类型 20150329 转换为 2015/03/29
  13. HDU 2176 取(m堆)石子游戏 尼姆博弈
  14. java Queue中 add/offer,element/peek,remove/poll区别
  15. mysql安装(centos 7)
  16. Tools - OpenSSL
  17. 计算2个时间之间经过多少Ticks
  18. SpringMVC注解式开发之接收请求参数
  19. PHP数组排序函数有哪些
  20. git 强行pull并覆盖本地文件

热门文章

  1. windows server 2008 如何查看异常重启日志
  2. Windows Socket五种I/O模型——代码全攻略(转)
  3. jstree中json data 的生成
  4. jenkins部署遇到离线问题如何解决
  5. 视频剪辑生成gif格式(php外挂python程序)完美!
  6. 【Redis】四、Redis设计原理及相关问题
  7. Listview异步加载图片之优化篇
  8. git添加user及repository
  9. Datatable 导出到execl 官网demo
  10. kata练习题