Git学习笔记

写在前面:

建议大家可以先去看详细的入门教程,然后通过该笔记来复习整理。

  1. 初始化git仓库:git init
  2. 添加文件到git仓库:
    ① 添加修改到暂存区: git add <文件名>
    ② 提交暂存区的修改到分支: git commit -m "注释语句"
  3. 查看工作区状态: git status
  4. 对比文件的修改信息: git diff <文件名>
  5. 回退到历史版本: git reset --hard <提交ID>
  6. 查看提交历史: git log
  7. 查看历史命令: git reflog
  8. 暂存区的概念:
    Git学习笔记_第1张图片
    stage是暂存区
  9. 丢弃工作区的修改(实际上是用版本库里的版本替换工作区版本):git checkout -- 文件名
  10. 丢弃暂存区的修改:git reset head 文件名
  11. 删除文件: rm 文件名
  12. 从版本库中删除文件:
    git rm 文件名
    git commit -m "注释语句"
  13. 创建ssh公钥:ssh-keygen -t rsa -C "自己的邮箱地址"
  14. 关联远程库:git remote add origin 仓库地址
  15. 推送分支内容到远程库:git push -u origin 分支名称
    (由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。)
    此后,每次本地提交后,可以使用命令git push origin master推送最新修改到远程库
  16. 克隆远程库到本地库:git clone 远程库地址 本地库地址
  17. 查看分支: git branch
  18. 创建分支: git branch 分支名称
  19. 切换分支: git checkout 分支名称
  20. 创建并切换分支: git checkout -b 分支名称
  21. 合并某分支到当前分支:
    git merge 分支名称
    Fast forward模式合并,看不出曾经做过合并
    git merge --no-ff -m "合并信息注释" 分支名称
    禁用Fast forward模式的合并方法,可以看出曾经做过合并
  22. 删除已经合并过的分支: git branch -d 分支名称
  23. 储藏现场: git stash
  24. 查看储藏的现场: git stash list
  25. 恢复储藏的现象: git stash apply
  26. 删除储藏的现场: git stash drop
  27. 恢复并删除储藏的现场: git stash pop
  28. 删除还未合并的分支:git branch -D 分支名称
  29. 命令 git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;
  30. 命令 git tag -a -m "blablabla..." 可以指定标签信息;
  31. 命令 git tag 可以查看所有标签。
  32. 命令 git push origin 可以推送一个本地标签;
  33. 命令 git push origin --tags 可以推送全部未推送过的本地标签;
  34. 命令 git tag -d 可以删除一个本地标签;
  35. 命令 git push origin :refs/tags/ 可以删除一个远程标签。
多人协作的工作模式通常是这样:
1. 首先,可以试图用git push origin 推送自己的修改;
2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3. 果合并有冲突,则解决冲突,并在本地提交;
4. 没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!

你可能感兴趣的:(Git学习笔记)