安装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. c++面试题【转】

    语言部分: 虚函数,多态.这个概念几乎是必问. STL的使用和背后数据结构,vector string map set 和hash_map,hash_set 实现一个栈类,类似STL中的栈.这个题目初 ...

  2. windows下使用git管理github项目

    1. 下载安装msysgithttp://code.google.com/p/msysgit/downloads/list2. 注册github账号3. 生成ssh公钥和私钥ssh-keygen -C ...

  3. 把perl脚本编译成exe

    来源:http://www.veryhuo.com/a/view/38338.html 今天想把 perl 脚本编译成 exe 以便脱离 perl 解释器独立运行.都可以生成PERL的PE文件,在PE ...

  4. Myeclipse 创建 Web Maven项目

    1.创建Web项目 添加Maven支持 2.pom.xml 报如下错误: 解决办法: pom.xml里面添加依赖: <dependency> <groupId>com.thou ...

  5. redis采用序列化方案存对象

    前几天被问到这样一个问题,redis怎么存对象,平时也没怎么注意,只知道redis存字符之类的,不过就是根据键存取值,不过对象的话还是不同的 首先来了解一下为什么要实现序列化 为什么要实现序列化接口 ...

  6. linux 命令汇总

    一 Grep 命令 各种参数: -i:ignore-case忽略大小写 -c :打印匹配的行数 -l :从多个文件中查找包含匹配项 -v :查找不包含匹配项的行 -n :打印包含匹配项的行和行标 -w ...

  7. 简单hash[或者是哈希思想]

    题目链接 /* 有一个长度为n的只包含小写字母的字符串s,有m次操作,每次输入2个字符 A , B表示将s中的全部字符A变成B,B变成A. char sky[30],顺序记录每个字母的映射,在sky[ ...

  8. eclipse背景颜色修改插件color theme

    对于长时间编码的程序猿来说,这个插件可以说是福音了. 安装方式有两种: 1.可以直接在eclipse的eclipse marketplace 那里搜索安装 2.可以在Help->Install ...

  9. Android抽屉(SlidingDrawer --类似android通知栏下拉效果)

    Android抽屉(SlidingDrawer)的实现发 - 红黑联盟http://www.2cto.com/kf/201301/182507.html 可动态布局的Android抽屉之基础http: ...

  10. C# Socket的TCP通讯 异步 (2015-11-07 10:07:19)转载▼

    异步 相对于同步,异步中的连接,接收和发送数据的方法都不一样,都有一个回调函数,就是即使不能连接或者接收不到数据,程序还是会一直执行下去,如果连接上了或者接到数据,程序会回到这个回调函数的地方重新往下 ...