$ 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

最新文章

  1. 第50课 关于对话框(About)
  2. Maximum&#160;Product&#160;Subarray
  3. SharePoint配置搜索服务和指定搜索范围
  4. Linux环境变量设置指南
  5. php获取真实IP地址
  6. C#窗体 WinForm 文件操作
  7. 【转】Unity 之 移动设备的触控操作
  8. 【linux】pkill 踢在线用户
  9. Porlet标准:JSR168/JSR286/WSRP(转载)
  10. mysql 日期
  11. LA 3521 Joseph&#39;s Problem
  12. SQL2008安装重启失败
  13. SGU 202 The Towers of Hanoi Revisited (DP+递归)
  14. Java IO包装流如何关闭
  15. Java Web高级编程(一)
  16. SQLServer之分离数据库
  17. Linux上安装jdk,mysql
  18. P2084 进制转换
  19. logstash retrying failed action with response code: 429
  20. qt QRegExp使用(搬运工)

热门文章

  1. [題解]luogu_P1144最短路計數
  2. EasyUI datagrid 列宽度拖动问题
  3. Unity Shader入门精要学习笔记 - 第13章 使用深度和法线纹理
  4. ListBox,CheckBoxList,DropDownList,RadioButtonList的常见数据绑定
  5. ubuntu中wine下安装QQ
  6. php调用c# webservice方法
  7. cf559C. Gerald and Giant Chess(容斥原理)
  8. 【javascript】2017-9-12 腾讯笔试小Q升序算法
  9. IE兼容只读模式
  10. zookeeper系列 (第一章 :ubuntu 下安装zookeeper)