Git日常使用总结

Git日常使用总结

一、 git,gitee,GitHub简介

  1. git是一个分布式版本控制系统,是一个文件版本管理软件,需要安装到本地使用。
  2. gitee(码云)和GitHub均为代码托管平台,不需要下载安装,gitee服务器在国内,而GitHub服务器在国外,且gitee使用功能会更加友好。
  3. gitee和GitHub的使用都需要借助git,通过git的远程仓库操作以及本地文件管理,实现对文件版本的追踪管理及团队协作。

二、 git基本命令

1. 远程管理

  • 从远程仓库复制代码到本地
    • git clone xxx
      xxx代表gitee(或GitHub)上代码复制链接,如本次fork到我gitee的作业所在远程仓库链接为【git@gitee.com:Chenwzh/course_note_mad.git】,所以,将该仓库代码复制到本地的命令为
      git clone git@gitee.com:Chenwzh/course_note_mad.git
  • 将本地代码推送到远程仓库
    • git remote add origin git@gitee.com:Chenwzh/course_note_mad.git
      该命令是将本地与远程仓库关联,origin为所关联的远程仓库代名,你可以修改成你喜欢的叫法。注意,要想与远程仓库进行关联,该gitee(或GitHub)账户必须添加了你本地git的公钥,这样确保了不是每个人都可以和远程仓库进行关联,除非已经授权,即添加了你本地git公钥。
    • git push origin master
      该命令解释为将本地master分支(也可推送其他对应分支)推送到origin仓库,即上面所关联的远程仓库,如果该远程仓库为空,需要加上-u,即git push -u origin master
  • Pull Request请求
    当你从其他人的远程仓库fork到你自己仓库,再clone到本地,当你完成工作的时候,你可能无法直接将你的新代码推送到其他人仓库里,因为他远程仓库账号不一定有你公钥。所以,你可以先推送新代码到自己的仓库里,再Pull Request给他,如果他愿意接受你的代码就可以。

2. 本地管理

  • 工作区、版本库(即.git文件夹):
    工作区就是我们文件存放位置,版本库为.git文件夹。我们在工作区修改我们的文件,版本库包括缓存区和一条有分支的提交记录链。
  • 基本操作
    • git init
      将当前目录变成本地仓库
    • git add main.cpp
      将修改后的文件main.cpp添加到缓冲区,可一次添加多个文件
    • git commit -m "message"
      将缓存区的所有文件提交到所在分支,-m是添加注释,注释内容为message。每次commit最好添加注释,因为一旦提交越多,没有注释很容易忘记某些提交修改了什么地方。
    • git status
      查看当前工作区和缓存区情况,看是否有未git addgit commit的文件。
    • git diff main.cpp
      查看main.cp文件在工作区是否有修改痕迹以及修改内容。
    • git diff HEAD -- main.cpp
      查看main.cpp文件在工作区和版本库(缓存区)的区别,即add到缓存区还未commit到链上时,又在工作区进行修改,此时工作区和缓存区不一致。
    • git checkout -- main.cpp
      取消工作区的修改,包括上面两种情况。注意–,没有这个是另一个命令。
    • git log
      查看提交历史,且显示信息非常完整,若加上参数--pretty=oneline则只显示commit id,结果会更加简洁,若加上参数--graph可显示分支合并之后的图。
    • git reflog
      查看所有命令记录,可以看到已删除的commit id和未来版本,而git log不具备此种功能。
    • git reset --hard commit_id
      通过上面两条命令获得的版本号,回某个版本commit_id。
    • git rm main.cpp
      删除文件,之后还需add和commit命令提交到版库库。
  • 分支管理
    • git branch dev
      创建一个名为dev的分支。
    • git checkout dev
      跳转到名为dev的分支。
    • git checkout -b dev
      前两条命令的结合,创建并跳转到dev分支。
    • git branch
      查看当前分支
    • git branch -d dev
      删除已合并的dev分支,而参数-D为删除为合并的分支
    • git merge dev
      将dev分支合并到当前分支,若加上参数--no-ff则分支信息仍然保存。
    • git stash
      将当前工作区暂时保存,在当前分支任务未完成时需跳转其他分支的时候使用,使用此命令就可以安全跳转其他分支,可多次使用。
    • git stash list
      查看保存的工作区列表
    • git stash apply stash@{x}
      恢复某一工作区,stash@{x}为某一保存的工作区,x为数字。若不添加该参数,默认恢复最近一次。
展开阅读全文

没有更多推荐了,返回首页