安装git
1 yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
2 yum install -y git
3 git config --global user.name "Your Name"
4 git config --global user.email "email@example.com"
5 git config core.filemode false #忽略文件权限
 
默认git版本为1.7.1无法clone版本库,需要升级git客户端
yum install perl-ExtUtils-MakeMaker package gettext-devel
tar -xzf git-2.4.1.tar.gz
cd git-2.4.1
make configure
./configure
make
make install

  

身份认证
1,生成本地主机id_rsa.pub公钥,将内容添加到gitlab的SSH keys
2,使用帐户验证 在gitlab创建帐户,添加用户到project member 直接从远程库克隆
git clone git@gitlab.ve.cn:xikai/test.git
git clone http://gitlab.ve.cn/xikai/test.git

提交文件到git版本库
git add file #把文件修改添加到暂存区
git rm #从版本库删除文件
git commit -m "xxxxx" #把暂存区的所有内容提交到当前分支
git status #查看状态
git log #显示版本日志
git reflog #列出所有操作记录
git checkout -- readme.txt #将工作区指定文件回到最近一次git commit或git add时的状态
git reset HEAD readme.txt #将暂存区指定文件重新撤回工作区
 

储藏
git stash                    #把当前工作现场"储藏"起来,等以后恢复现场后继续工作(你当前的工作还没有完成提交,当前又必须先去修复bug时,需要将当前工作区“储藏”起来,保持工作区干)
git stash pop #恢复之前"储藏"的工作现场,同时把stash内容也删除
git stash list #查看stash内容

版本回退
git reset --hard HEAD^        #回退到上一个版本
git reset --hard HEAD~100 #回退到上100个版本
git reset --hard 3628164 #回到指定commit ID的版本(commit ID不用写全
 
分支管理
一个成功的git分支方案:
http://blog.csdn.net/dbzhang800/article/details/6798724
git branch -a                    #列出所有本地分支及远程分支
git checkout -b develop #创建并切换develop分支
git checkout develop #切换分支
git branch -d myfeature #删除develop本地分支(git branch -D myfeature 强行删除没有被合并的分支)

  

删除远程库分支
git branch -r -d origin/develop            #删除本地对应的remotes/origin/develop
git push origin :develop #将本地空的分支推送到远程指定分支,冒号前面空格不能少
git checkout -b develop origin/develop #创建远程develop分支到本地
git branch --set-upstream branch-name origin/branch-name #建立本地分支和远程分支的关联

合并分支
git merge develop
git merge --no-ff -m "commit message" develop #合并develop分支到当前分支(develop分支文件的内容会覆盖当前的内容)

 
注:合并分支默认会使用Fast forward "快进模式",当被合并的分支被删除时,会丢掉分支信息; --no-ff禁用快进模式,Git就会在merge时生成一个新的commit

推送拉取
git remote -v                #查看远程git服务端地址
git push -u origin master #推送本地当前指定分支到远程服务端 -u第一次推送用于关联本地master分支与远程master分支
git push -u origin develop
git pull origin master #从远程git服务器拉取指定分支数据到本地当前分支
git pull origin develop
git push #推送所有分支
git pull #拉取所有分支

标签管理
git tag                            #列出所有tag
git tag -a v1.0 -m "v1.0" #为当前分支打标签
git tag v0.9 6224937 #为指定版本打标签
git push origin --tags #推送tags
git pull origin --tags #更新当前分支和tags
git checkout v1.0 #检出指定tag
git show v0.1 #查看tag信息
git tag -d v0.1 #删除本地标签
git push origin :refs/tags/v0.1 #删除远程标签(必须先删除本地标签再push origin) 

忽略特殊文件
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件等等,每次git status都会显示“Untracked files ...”,有强迫症的童鞋心里肯定不爽
解决方法:在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,提交.gitignore文件到版本库,Git就会自动忽略.gitignore中的文件
参考文档:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

Git 常用命令汇总的更多相关文章

  1. Git学习总结(10)——git 常用命令汇总

    1.git 基本概念: 工作区:改动(增删文件和内容) 暂存区:输入命令:git add 改动的文件名,此次改动就放到了'暂存区'(新增的文件) 本地仓库(简称:本地):输入命令:git commit ...

  2. 【开发工具 - Git】之Git常用命令汇总

    本文记录了Git Bash中的常用指令. 1       Git操作 git clone XXXXX:将GitHub项目XXXXX克隆到本地 git remote –v:查看远程连接信息 git ch ...

  3. Git常用命令汇总

    1.初始化相关 git init 初始化仓库 git remove add origin url 添加仓库地址 git remove rm origin 删除仓库地址 git clone 克隆别人的分 ...

  4. git常用命令2

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  5. Git常用命令清单笔记

    git github 小弟调调 2015年01月12日发布 赞  |   6收藏  |  45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...

  6. Git 常用命令速查表(图文+表格)

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  7. Git常用命令集锦

    本篇Git命令博客主要是一些Git常用命令,适合于有一定Git或linux基础的小伙伴进行参考 1.新建文件夹 mkdir 文件夹名 2.查看目录机构: pwd 3.将文件添加至Git管理范围:git ...

  8. 转 Git 常用命令大全

    一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态  git commit 提交  git branch -a 查看所有的分支 git branch ...

  9. git常用命令3

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态git commit 提交git branch -a 查看所有的分支git branch -r 查看 ...

随机推荐

  1. docker Swarm 集群发现

    Node 发现 $swarm manage --discovery dockerhost01:,dockerhost02:,dockerhost03: -H= 文件发现 $swarm manage - ...

  2. MySQL 视图 总结

    什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 这样,用户可以不用看到整个数据库中的数据,而之关心对自己有用的数据. 数 ...

  3. Redis中connect和pconnect的区别

    首先先介绍下connect和pconnect的区别.connect:脚本结束之后连接就释放了. pconnect:脚本结束之后连接不释放,连接保持在php-fpm进程中.所以使用pconnect代替c ...

  4. 首次编译TI Android JB-4.2.2-DevKit-4.1.1的时候提示jdk版本不对

    http://processors.wiki.ti.com/index.php/TI-Android-JB-4.2.2-DevKit-4.1.1_DeveloperGuide#Configure_An ...

  5. Guava API

    1.字符串的处理 字符串的连接&拆分&匹配及常用操作 Joiner&Splitter @Test public void testJoiner() { String[] str ...

  6. Ant 参考

    http://ant.apache.org/manual/Tasks/exec.html Exec Description Executes a system command. When the os ...

  7. 使用POI生成Excel文件,可以自动调整excel列宽

    //autoSizeColumn()方法自动调整excel列宽 importjava.io.FileOutputStream; importorg.apache.poi.hssf.usermodel. ...

  8. 关于Arduino 步进电机Stepper库的一些想法

    官方提供了一些库,使Arduino入门起来更加快速,我们连原理都不用懂,就能通过函数控制终端.但是,这样也带来了很多的缺陷,比如,库函数的功能有限,有些无法实现.然后还有库函数因为要考虑其他的情况,你 ...

  9. PHP商品倒计时 php实现当前用户在线人数

    //PHP商品倒计时 date_default_timezone_set("Asia/shanghai");//地区 //配置每天的活动时间段 $starttimestr = &q ...

  10. Struts中的数据处理的三种方式

    Struts中的数据处理的三种方式: public class DataAction extends ActionSupport{ @Override public String execute() ...