git 指南

1、官网

http://git-scm.com/

2、基础设置

  • 查看设置

git config –list

  • 设置用户名

git config –global user.name “hxskmx”

  • 设置邮箱

git config –global user.email “hxskmx@163.com”

  • 查看帮助

git help

  • 查看指定命令的帮助

git help push

3、创建版本库

  • 查看当前所在目录

pwd

  • 创建一个空目录
$ mkdir learngit
  • 进入目录初始化一个仓库
$ git init
  • 创建文件
touch README.md
  • 查看文件
cat README.md
  • 添加文件
git add README.md

git add *.txt //添加多个文件

git reset HEAD 1.txt //删除添加后不想添加的文件
  • 提交文件
git commit -m "init repo"

git commit -a -m "modify README.md"  //直接提交 ,跳过缓存,不适用与新创建的文件)

5、版本回退

  • 查看历史提交信息
git log

git log --pretty=oneline  //一行一行显示,调整显示格式

git log --graph --pretty=oneline --abbrev-commit   //查看冲突分支合并图
  • 版本回退
git reset --hard HEAD^ //上一个 当前版本是 HEAD
git reset --hard HEAD^^ //上第二个版本 
git reset --hard HEAD~100 //上第100个版本

git reset --hard e8b78773ad4e95c95632bf9949e2facd78bd1c1d
HEAD is now at e8b7877 edit readme 1   //回退指定版本号
  • 查找历史命令,方便找到历史提交ID,恢复某一版本
git reflog
  • 查看版本库中的文件与工作区文件的区别
git diff HEAD -- readme.md
  • 撤销工作区修改
    • 没有放入缓存区,放弃工作区的修改
      git checkout – readme.md
    • 文件已放入缓存区,但是工作区又做了修改,想放弃本次修改
      git checkout – readme.md
    • 上面,就是让这个文件回到最近一次git commit或git add时的状态,git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
  • 撤销缓存区修改
    • git reset HEAD file
      可以把暂存区的修改撤销掉(unstage),重新放回工作区
      git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
      再次利用git checkout – readme.md可以将工作区撤销

6、删除

  • 删除
git rm test.txt
  • 误删使用版本库恢复
$ git checkout -- test.txt

git checkout 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”

7、github使用

7.1、创建SSH Key

在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"

然后一路回车即可
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

7.2、配置SSH Key

登陆GitHub,打开“Settings”,“SSH Keys”页面, 然后点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容.

8、远程仓库

8.1、第一次关联远程仓库

  • 创建一个叫origin的远程仓库
git remote add origin git@github.com:hxskmx/gitdemo.git
  • 提交本地仓库至远程仓库
git push -u origin master

将本地仓库中的master分支提交至远程仓库 -u 是第一次关联远程仓库 此时 注意 自己的SSh Key 已添加至远程仓库,否则不能提交代码

8.2、向远程仓库提交代码

git push origin master

8.3、在本地克隆一个远程仓库

git clone https://github.com/hxskmx/gitskills.git   // 使用https
git clone git@github.com:hxskmx/gitskills.git   // 使用ssh

9、分支

  • 创建分支
git branch dev
  • 切换分支
$ git checkout dev
  • 创建并切换分支
git checkout -b dev

git checkout命令加上-b参数表示创建并切换

  • 查看当前分支
git branch

git branch命令会列出所有分支,当前分支前面会标一个*号。

  • 合并分支
git merge dev

git merge命令用于合并指定分支到当前分支

  • 删除分支
git branch -d dev
  • 工作现场“储藏”
$ git stash
  • 查看保存的工作现场
git stash list
  • 恢复工作现场
git stash apply  //恢复后,stash内容并不删除

git stash drop    //删除stash

git stash pop   //恢复的同时把stash内容也删了

$ git stash apply stash@{0}  //先用git stash list查看,然后恢复指定的stash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值