git的使用总结
Posted jcdxh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git的使用总结相关的知识,希望对你有一定的参考价值。
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将等于远程仓库的地址)
以上是关于git的使用总结的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程