一些概念就不在赘述了,直接开启命令学习之旅!
初次使用git,或者进入新公司,如果需要使用到git,都会先进行用户名以及邮箱的配置,这会作为当前机器的git的标识,并且会在拉取、提交代码的时候进行记录
命令格式:
git config [--global]
参数讲解:
config:用来配置git环境
--global:表示配置的是当前用户的全局环境
用户名配置
git config user.name "你的用户名"
邮箱配置
git config user.email "你的邮箱"
如果没有配置,当遇到需要进行登录的远程仓库的时候,会需要手动输入用户名、邮箱、密码
git init:初始化当前目录为仓库,初始化后会自动将当前仓库设置为master
git clone
:从远程仓库拉取到本地,会在当前目录下创建一个和远程仓库同名的目录
git remote add origin [email protected]:beiszhihao/test.git
git add a.txt:将a.txt文件添加到暂存区
git commit -m:将暂存区的文件提交到本地仓库
参数详解:
如果我们将暂存区的文件提交到本地仓库,发现注释写错了,如何修改
如果想要查看提交的记录,可以通过 log进行查看
git log
git reflog
代码提交到本地仓库,发现有bug,需要版本回退,那可以通过reset命令操作,通过 --hard|soft|mixed进行仓库版本控制
命令格式:
git reset --hard|soft|mixed
git log:获取提交记录,获取前面的logid
git reset --hard 要回滚id
git reset --hard HEAD^:HEAD^表示上一个版本
git reset --hard HEAD~3:HEAD~3表示回滚master前三个版本
如果我们对暂存区的某个文件,进行修改,但是发现不对需要回滚,此时可以使用 checkout -- 命令
git checkout -- filename
如果单独需要回滚某一个文件,可以查看该文件的提交日志,再进行回滚
然后在进行git ad commit的操作
git log filename:查看某个文件单独的提交日志
git reset log_id filename:回滚文件到指定版本
rm filename:
git rm filename
git checkout dev:切换dev分支
git checkout -b dev:创建并切换dev分支
git branch:查看当前所在的分支
git branch -a:查看所有分支
git checkout的作用是检出,如果是文件的话,会放弃对文件的缓存区操作,但是要使用reset重置一下变更才行。
如果是分支的话会切换过去。
删除本地分支
git branch -d 分支名
删除远程分支
git push origin --delete 远程分支名
新建分支开发完成之后,想要把分支提交到master,只要切换到master分支,并执行 合并操作
# test 分支
git add .
git commit -m ''
git checkout master
git merge test
注意:
如果分支上创建的文件没有提交,那么在任何分支上的工作空间都能看到这个文件,此时切换分支在合并是会报错的
git push -u origin master
当我们在某个分支修改了文件,此时想要切换分支或者创建其他分支是不行的,git会报错阻止
可以先保存当前状态在切换
git stash:保存工作状态
git stash list:查看当前存储了多少工作状态
在其他分支完成工作,回到之前的分支
git checkout
git stash pop:回复最近一个存储的工作状态
stash其他命令
git stash pop:去除最后一个并删除
git stash apply:不会删除列表里的内容,默认回复最近一个
git stash apply list名称:回复指定内容
git stash drop listmingc:移除指定list
git stash clear:移除所有的list
git stash show:查看最新保存的和当前目录的差异
git fetch:把远程分支全部拉取下来,同时也包括这些分支的仓库版本,log日志等,这个操作不会进行合并
当两个分支中都对同一个文件进行修改并提交,这是进行合并的时候就会出现冲突
常pull,常关注代码提交动态