$ 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. canvas常用画法整理

    代码Canvas.htm <!DOCTYPE html> <html lang="en"> <head> <title>canvas ...

  2. jmeter beanshell处理请求响应结果时Unicode编码转为中文

    在Test Plan下创建一个后置BeanShell PostProcessor,粘贴如下代码即可: String s=new String(prev.getResponseData()," ...

  3. UWP 版本号

    一:版本号 个人开发者对于版本号的命名相对随便一点,如果是大公司的话,命名则要规范一点.以开发UWP为例 在创建包的时候,开发者可以自定义版本号或者点击自动增加. 二:对应上图中的四个格子中的数字 第 ...

  4. Codeforces 1132G(关系转化树+dfn+线段树)

    要点 显然要滑动修改维护. 像通常的数列next关系一样建边(单调栈预处理),因为贪心所以是树,然后发现增删只会影响区间内的子(or父,看你连边方向行事)节点,于是使用dfs序建线段树. 为了正确地修 ...

  5. Python enumerate() 函数----枚举

    描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. Python 2.3. 以上版本可用,2. ...

  6. foreach循环与迭代器循环 删除插入元素的区别

     (1)仅对其遍历而不修改容器大小时,只使用foreach循环 (2)需要边遍历边修改容器大小时(插入删除元素),只使用迭代器循环 import java.util.HashMap;import ja ...

  7. gem install 提示rubygems.org连接不上的问题

    周五的时候安装compass时遇到的,总是报错,后来反应过来是被墙了.解决办法就是使用淘宝的rubygem的镜像 gem sources --remove https://rubygems.org/ ...

  8. F. Bakkar In The Army 二分

    http://codeforces.com/gym/100283/problem/F 思路是二分第几行,二分出来的行是总和 >= n的,那么第k - 1行一定要选,那么再在第k行中二分那一列. ...

  9. opencart 安装

    1:安装 php5    apache2  mysql 2:下载opencart wget https://github.com/opencart/opencart/archive/master.zi ...

  10. ASP.Net MVC 控制@Html.DisplayFor日期显示格式

    在做一個舊表的查詢頁時,遇到一個問題: 字段在db里存儲的是DATETIME,但保存的值只有日期,沒有時間數據,比如2018/2/26 0:00:00,顯示出來比較難看, 當然也可以做一個ViewMo ...