git使用

版本库

  1. repository

普通命令

  1. git init 初始化仓库 可以在空文件夹 也可以在非空文件夹
  2. git add xxx.xx 把xxx文件添加到版本库
  3. git commit -m "提交的备注信息" 把文件提交到版本库

git add将文件添加到暂存区,此时文件并没有被添加到当前分支中,使用git commit 将暂存区中的文件提交到当前分支。git add可以多次执行,添加多个文件

  1. git status 查看版本库的状态
  2. git diff xxx.xx 查看xxx文件的具体修改内容
  3. git log 查看最近到最远的提交记录
  4. git log --pretty=oneline 简化历史记录展示
  5. git reset --hard HEAD^ 回退到上一个版本
    HEAD^^ 上上一个版本
    HWAD~100 上一百个版本
    git reset --hard 1094a 切换到commit id 为1094a的版本,使用git log可以看到commit id,真正的id很长,在切换的时候不用写全,只写前几位就行了
  6. git reflog 查看每一次的命令,使用它可以看到每一次的操作 并看到哥哥版本的commit id
  7. git checkout --xxx.xx 让文件回到最近一次git commit或者 git add时的状态
  8. git reset HEAD xxx.xx 把暂存区的文件放回工作区
  9. git rm xxx.xx git commit -m '删除xx文件' 删除文件

远程仓库

  1. 创建SSH Key

     ssh-keygen -t rsa -C "邮箱"
    
  2. 一路回车在.ssh目录里生成id_rsa id_rsa.pub两个文件,前者是私钥,后者是公钥,将公钥提交到自己使用的远程版本库中

  3. 远程库创建

  4. git remote add origin 远程库地址 本地库关联远程库

  5. git push -u origin master 第一次推送分支内容 git push origin master 以后推送内容

  6. git clone 远程库地址 从远程库克隆版本库

  7. git remote rm orgin 删除与远程库的链接

分支

  1. 主干 master 当前分支 HEAD
  2. master 指向当前提交 再把HEAD指向master
  3. git checkout -b dev 创建并切换到dev分支
  4. git branch dev git checkout dev 创建并且换到dev分支
  5. git branch 查看当前分支 列出所有分支 当前分支前面有*
  6. git merge 分支名 切换其他分支到当前分支
  7. git branch -d 分支名 删除某分支
  8. git log --graph --pretty=oneline --abbrev-commit 查看分支合并图
  9. git merge --no-ff -m '提交信息' dev 禁用fast forward
  10. git stash 储藏功能 把当前工作区的文件改动保存起来
  11. git stash list 储藏区的列表
  12. git stash apply 恢复储藏区的内容,但是不会删除储藏区的内容
  13. git stash pop 回去储藏区的内容,同时删除储藏区的内容
  14. git stash drop 删除储藏的内容
  15. git stash apply stash列表中key值 恢复指定的储藏区文件
  16. git branch -D 分支名 强行删除一个没有合并的分支
  17. git remote 查看远程库信息
  18. git remote -v 查看远程库详细信息 包含推送和抓取信息
  19. git checkout -n branch-name orgin/branch-name 在本地创建于远程分支对应的分支
  20. git bbranch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联
  21. git pull 从远程抓取分支

标签

  1. git tag tagname 新建一个标签
  2. git tag tagname 提交id 在指定提交上打一个标签
  3. git show tagname 查看标签信息
  4. git tag -a tagname -m '标签信息' 提交id 带有说明的标签
  5. git tag 查看所有标签
  6. git tag -d tagname 删除没有推送的标签标签
  7. git push origin <tagname> 推送某个标签到远程
  8. goy push origin ---tags 推送所有标签到远端
  9. 删除远端的标签先删除本地的,再删除远程的git tag -d v0.9 git push origin :refs/tags/v0.9

忽略文件

  1. .gitignore git忽略文件配置
  2. git add -f XX.XX 强制添加忽略掉的文件到版本库
  3. git check-ignore -v xx.xx 检测规则问题