git的使用总结

梦想与她 提交于 2019-12-02 06:57:57

git是工具

  • linux之父为了维护linux版本而开发的工具,后来开源了

git和svn的区别

  • svn:集成式(所有代码集合在中央服务器上,别的电脑本地没有代码,必须请求中央服务器,必须联网才能进行版本管理)

  • git:分布式(每台电脑上都有代码,不联网也可以进行版本管理)

  • github:代码托管平台,把项目托管到平台上,查看最新的改动和版本

初始化git仓库

  • 在这个仓库会存放,git对我们项目代码进行备份的文件
  • 在项目目录右键打开git gash
  • 命令:git init

设置使用用户是谁

  • 每一次备份都会把当前备份者的信息存储起来
  • 命令:
  • git config --global user.name "xiaoming"

  • git config --global user.email "12449@qq.com"

存储的主要步骤

  • 工作区(本地写源代码的地方)-> 暂存区(相当于本地仓库的大门git add ./)->本地仓库(git cmmit -m ""对每一个存储进行了说明才能放进去)->远程仓库(git push 将本地仓库的代码同步到远程仓库中去)

    把代码存储到.git仓库中

  • 1.把代码放到仓库的门口
  • git add ./... (...表示当前文件夹下的某个文件)
  • git add ./ (表示添加所有修改的文件到仓库门口)
  • 2.把仓库门口的代码存放到仓库中
  • git commit -m "..."(...表示对添加的文件的说明)

一次性把我们修改的代码放到房间中(版本库)

  • git commit --all -m "说明"

    查看当前的状态

  • git会监控仓库是否改动,暂存,与是否存储
  • 命令:git status

查看历史提交的日志

  • git log查看历史提交的日志
  • git log --oneline可以查看精简版的日志
  • git reflog 查看所有版本的操作(当head指向发生回退找不到head之后的版本的时候,可以通过这个命令来查询所有版本)

git中的忽略文件

  • .gitignore在这个文件中可以设置要被忽略的文件或者目录。
  • 被忽略的文件不会被提交到仓库里去
  • 在.gitignore中可以书写要被忽略的文件的路径,以/开头,一行写一个路劲,这些路径所对应的文件都会被忽略
  • 写法
    • /.idea 会忽略.ide文件
    • /js 会忽略js目录里所有的文件
    • /js/*.js 会忽略js目录下所有的js文件

回退到指定的版本

更具Head指向

  • git reset --hard Head~0(表示回退到上一次代码提交时的状态)
  • git reset --hard Head~1(回退到上上次)
  • 以此类推 (Head一般指向的最新的版本,0时当前,1是上一次)
  • 当回退当之前的版本的时候,Head指向发生变化,查看log日志的时候,只能看到Head指向的当前版本和以前的版本(最新版本还在,但此时log日志是查询不到的)

根据版本号

  • git reset --hard 版本号

分支

  • 默认是有一个主分支master

    创建分支

  • git branch dev(创建了一个dev分支,在刚创建时dev分支里的东西是和master分支里的东西是一样的)

切换分支(进入分支)

  • git branch (可以查看有几个分支)
  • git checkout dev (切换到刚才创建的dev分支当中)

合并分支

  • git merge dev(把当前的分支(master)和指定的分支进行合并(dev))
  • 当前的分支指的是git branch命令输出的有*的分支

    删除分支

  • $ git branch -d dev

合并冲突

  • 冲突是,当我们在分支内填写了代码时,在主支的同一个文件中也修改了代码,合并的时候,git无法判断保留哪个,但是会将两次修改都记录在文件当中,我们需要手动的去判断保留哪一个,处理后的结果还需要在提交一次

Github

https方式提交代码到github上

  • git push [地址] [分支名]
  • 会把当前分支的内容上传到远程的master分支上
  • 每次都要输入用户名和密码(比较繁琐)

ssh方式提交代码到github上(多人或公司常用方法)

  • 公钥 私钥,两者之间是有关联的
  • 生成公钥和私钥
  • ssh-keygen -t rsa -C "12449@qq.com" (邮箱随意填写,根据提示的保存路径找到pub后缀的文件(公钥),配置到github中)

获取github上仓库的数据

  • git pull [地址] [分支名]
  • 会把远程分支的数据得到:(注意本地要初始一个仓库

  • git clone [地址]
    +会得到远程仓库相同的数据

简写pull和push

  • 1.关联仓库
    • git remote add origin git@github.com:Y-Yin/test3.git (相当于定义了一个origin变量=我们的地址)
  • 2.使用origin简写地址
    • git push origin master (这里的origin将等于远程仓库的地址)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!