因为之前没有怎么系统的学过git,唯一记得的就是当初写PA的时候用过git的分支功能和提交,也没学过其他的版本控制工具,所以先简单学一下基础的操作,如果想查看详细的教程,可以跳到文章结尾,点击我附上的链接查看


创建版本库

可以把版本库理解为仓库

  • 创建一个空目录

      $ mkdir learngit
      $ cd learngit
      $ pwd
      /Users/michael/learngit
  • 将空目录变成仓库

      git init
  • 把文件添加到版本库

      git add readme.txt
  • 提交到仓库

      git commit -m "wrote a readme file"

    -m后接的是本次提交说明

版本管理

  • 查看仓库状态

      git status
  • 查看文件区别

      git diff readme.txt 
  • 日志查看

      git log
  • 回退版本

      git reset --hard HEAD^

    HEAD是当前指向的指针,加一个^,表示回退一个提交,^^表示两个提交,以此类推,多个是~n

    回退版本了又后悔了怎么办,查看commit_id,然后修改HEAD指向

    查看历史commit_id:

      git reflog

    找到后修改HEAD指向:

      git reset --hard 1094axxxx(your_commit_id)
  • 工作区与缓存区

    没有add前,在工作区,add后进入缓存区,commit后提交修改

  • 删除文件

    当删除一个文件后,需要同步到版本库

      git status

    查看文件的区别(删了哪些文件)

    然后把版本库中的相应文件删掉

      git rm test.txt

    提交

      git commit -m "remove somefile"

    如果是不小心把工作区的文件删了,想从暂存区或者版本库同步

      git checkout -- test.txt

分支管理

  • 创建分支

      git branch dev(分支名)
  • 切换分支

      git switch master
  • 删除分支

      git branch -d dev
  • 分支合并

    不建议使用快速合并模式

      git merge --no-ff

标签管理

标签相当于一个指向提交的指针

commit_id太复杂了用标签来代替可以方便记忆

  • 打标签

      git tag v1.0
  • 查看标签

      git tag
  • 补标签

      git tag v0.9 f52c633(commit_id)
  • 删除标签

      git tag -d v0.9
  • 推送标签到远程

      git push origin v1.0
  • 删除远程的标签

    删除本地的标签后:

      git push origin :refs/tags/v0.9

远程仓库

  • 克隆

      git clone xxxx
  • 上传

      git push -u origin master

    如果要将本地的dev分支推送到远程的dev分支上,切换到dev分支然后

      git push -u origin dev

参考:

Git教程- 廖雪峰的官方网站

Git官方手册

Last modification:July 15th, 2020 at 05:14 pm