$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"
$ git init #--Reinitialized existing Git repository 初始化建立分支
$ git add <file> #--add file 添加
$ git status #--no changes added to commit没有提交的修改
$ git diff <file> #--difference 差异
$ git log #--version 提交历史
$ git log --pretty=oneline #--简节
$ git log --graph --pretty=oneline --abbrev-commit #--用git log --graph命令可以看到分支合并图。
$ git reset --hard HEAD^ #--退回上一版本
$ cat file #--open file打开
$ git reflog #--history 命令历史
$ git checkout -- <file> #--back a revise 撤销修改
$ git reset HEAD <file> #--把暂存区的修改撤销掉
$ git branch #--显示所有本地分支
$ ls -a #--find folder for .git
$ rm -rf .git #--remove .git 移除
$ ssh-keygen -t rsa -C 'you@example.com' #--local user generat SSH-key
$ git remote add origin git@github.com:<name>/<file.git> #--relation git关联一个远程库,使用命令
$ git push -u origin master #--解除当前关联
$ git remote rmove origin #--首次推送加上-u将关联Github
$ git push origin master #push the latest changes to the local master branch to github
$ git clone git@github.com:<name>/gitskills.git #--从GItHub同步到本地
$ git clone -b dev git@github.com:<name>/git.git  #--下载分支dev文件到本地
$ git reset origin/46c8e12 orm.py  #--从远程恢复版本号46c中的orm文件

 
$ git checkout -b dev #--合并了--创建 git branch dev--切换分支 git checkout dev
$ git branch #--查看当前分支
$ git merge dev #--合并dev分支内容
$ git merge --no-ff -m "merge with no-ff" dev #--禁用Fast forward用--no-ff
##Fast forward模式下,删除分支后,会丢掉分支信息。
$ git branch -d dev #--删除dev分支,强行删除用-D
$ git stash #--储存当前工作
$ git stash list #--查看储存清单
恢复进展 :

1: $ git stash apply #--stash内容并不删除,你需要用git stash drop来删除

2: $ git stash pop 
$ git stash apply stash@{0} #--stash多次时可以指定
$ git branch -a #--查看所有分支(包括远程仓库的)
$ git fetch origin #--刷新远程仓库变改
$ git pull #--把最新的提交从origin/dev抓下来
查看远程库信息,使用git remote -v

rebase操作的特点:把分叉的提交历史“整理”成一条直线,看上去更直观。缺点是本地的分叉提交已经被修改过了。
$ git tag v0.9 f52c633 #--提交打标签对应的commit id是f52c633,不填id为当前事务
$ git tag -a v0.1 -m "version 0.1 released" 1094adb #--用-a指定标签名,-m指定说明文字:
$ git tag -d v0.1 #--删除
$ git push origin :refs/tags/v0.1 #--从远程删除,要先从本地删除
$ git push origin v1.0 #--推送v1.0标签到远程 v1.0==>--tags 推送全部尚未推送到远程 要忽略某些文件时,需要编写.gitignore
$ git config --global alias.st status #--以后st就表示status
$ git log -1 #--最后一次提交信息
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" #--log变色

云虚拟机linux上搭建Git裸库

新建一个用户并设置密码与git邮箱名字

$ vim .ssh/authorized_keys      #--加入需要登录的用户的公钥,公钥在本地文件id_rsa.pub中
$ sudo git init --bare sample.git    #--创建一个裸库
$ sudo chown -R git:git sample.git   #--获取文件夹所有权限,git:git 是用户组与名,如果创建的用户名不是git就输入自己的

sudo 命令可能出现用户不在sudo组中:

sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

需要切到root权限用户

# vim /ect/sudoers

在root    ALL=(ALL)  ALL下一行中加入git  ALL=(ALL)  ALL

若权限不够可以用chmod改下,建议改完恢复原权限

password是git用户的密码

资料参考来源:Git教程 - 廖雪峰的官方网站 (分享自 @廖雪峰)http://t.cn/RK0tLXB

git 常用命令及虚拟机服务器仓库搭建的更多相关文章

  1. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  2. Git 常用命令大全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...

  3. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

  4. Git 常用命令2

    Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...

  5. 转收藏:Git常用命令速查表

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

  6. Git 常用命令详解(二)

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  7. 【转】Git常用命令备忘

    Git配置 git config --global user.name "robbin" git config --global user.email "fankai@g ...

  8. iOS开发——开发技巧&Git常用命令

    Git常用命令 初始化git init        加—bare实现远程仓库 配置git config user.name iCocos 配置全局git config —global user.na ...

  9. [转载]Git常用命令

    转载自: Git常用命令 Git配置 git config --global user.name "robbin" git config --global user.email & ...

随机推荐

  1. Zynq7000开发系列-1(Vivado HLx 2016.4下载及安装)

    一.下载 1.访问Xilinx官方网站:www.xilinx.com,注册帐号并完善个人信息 2.点击以下选项进入下载页面:Support -> Downloads & Licensin ...

  2. HDU6441(费马大定理)

    听队友说过结论:a^n + b^n = c^n在n > 2时无解. 勾股那里本菜数学不好直接暴举了Orz. 跟大家学一波勾股数的构造:a是奇数时,tmp = a / 2; b = (tmp + ...

  3. JAVA常用知识总结(九)——线程

    sleep和wait的区别? sleep()来自Thread类,和wait()来自Object类.调用sleep()方法的过程中,线程不会释放对象锁.而 调用 wait 方法线程会释放对象锁 slee ...

  4. 物体检测丨Faster R-CNN详解

    这篇文章把Faster R-CNN的原理和实现阐述得非常清楚,于是我在读的时候顺便把他翻译成了中文,如果有错误的地方请大家指出. 原文:http://www.telesens.co/2018/03/1 ...

  5. SQL server事务语法

    ALTER proc [dbo].[p_BOGetMCBSecurityCheckPropertiesTypeAdd]@Name nvarchar(50),    ---参数@MCBBadlyBuil ...

  6. [转载]深入理解Java 8 Lambda

    原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features/ 深入理解Java 8 Lambda(语言篇——lam ...

  7. 装饰者模式--Java篇

    装饰者模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰者模式比生成子类更为灵活. 1.定义接口,可以动态的给对象添加职责. package com.lujie; p ...

  8. Android Studio项目上传到GitHub

    首先,在github上创建仓库:选择Repositories,点击右边的“New”,输入仓库名称,点击“create repositories”. studio的git配置: 安装好git后启动And ...

  9. MySQL的information_schema的介绍(转)

    转自:http://www.cnblogs.com/hzhida/archive/2012/08/08/2628826.html, 大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一 ...

  10. Servlet Context

    Servlet Context Container Provider 负责提供ServletContext的实现. A ServletContext is rooted at a known path ...