前言
在项目的学习中,发现需要对git指令有一定的掌握,因此将一些之后可能要用的git命令记录下来。
参考视频链接有:
1.git使用教程
一、git的多人协作开发
从下面这张图可以看到工作区就是本地的项目文件夹,一般情况下我们可以通过add 和commit命令提交到本地的仓库中,然后可以通过checkout将本地仓库中对应版本的代码更新到工作区中。
当需要进行多人协作的时候,可以先通过push把项目上传到远程仓库上,同时也可以通过pull将远程仓库中修改的文件更新到工作区中,又或是直接通过clone将远程仓库克隆到本地仓库里
二、git的本地操作
设置邮箱和用户名
git config --global user.name "xxx"#设置全局用户名
git config --global user.email"xxx"#设置全局用户邮箱
设置邮箱和用户名
git add 文件或目录名 #将指定的文件或目录提交到暂存区
git add . #将当前目录所有文件提交到暂存区
git rm 文件或目录名 #将指定的文件或目录从暂存区移除
提交到仓库
git commit -m "提交版本说明"
查看命令
git status #查看工作区和暂存区的状态,哪些文件添加到暂存区中,哪些文件还没添加到暂存区
git show #查看最近一次的提交,如果是git show 版本号或tag,则可以查看指定版本的信息
git log #查看当前分支的所有提交记录
git reflog #查看所有的操作记录,如果有些版本的哈希值记不到了,可以从这里可以找到一些哈希值来恢复
切换版本
通过给不同的版本打上标签,从而免去记忆各个版本的harsh值了
git tag 标签名 #给当前版本创建标签
git tag 标签名 版本号 #给指定版本创建标签
git tag #打印所有标签
git tag -d 标签名 #删除标签
分支
git branch #查看所有的分支
git branch 分支名 #在当前版本上创建分支
git branch -m 分支名 #对当前分支重命名
git branch -d 分支名 #删除指定分支
git merge 分支名 #将指定分支合并到当前分支
以上就是所有的本地操作有关的内容,需要注意以下几点:
1.使用git log 打印的是当前版本的所有提交记录,因此如果是后面的版本切换到前面的版本,那么当前版本之后的所有提交记录都看不见,需要切换回去才行。
2.在分支创建时,其本质是一个指针,此时如果未切换到指定分支,则在版本号后面显示的是(HEAD,分支名)
,只有切换到指定分支的时候,才会变成(HEAD->分支名)
这样才是对这个分支进行操作。
3.master会指向主分支中的最新版本,而HEAD则是指向到当前的版本。如果最新的版本不想要了,那么可以通过下面的命令,就可以让master指向对应的版本慎用!!!
,
git reset --hard 版本号
如果执行后还想恢复之前的版本,那只能通过git reflog 来找到对应版本的harsh值,然后切换过去了
提交到仓库
git commit -m "提交版本说明"
提交到仓库
git commit -m "提交版本说明"
二、git的远程仓库操作
实现本地仓库与github或者gitee上搭建的远程仓库进行链接
上传分支
git remote add origin 远程仓库地址#通过该命令将本地仓库与对应的远程仓库连接起来
git push origin 本地分支名:远程分支名 #用的比较少
git push origin 分支名#将指定的分支push到远程仓库中,也可省略分支名,相当于默认push当前分支
下载分支
git clone 远程仓库地址 #默认clone主分支
git clone -b 分支名 远程仓库地址 #从远程仓库clone指定分支
git branch -a #查看所有远程仓库分支,包括隐藏分支
git checkout 远程分支名 #这里的远程分支名就是上面查看的远程仓库分支的完整地址,此时,会自动clone到本地并切换到该分支
拉取分支
git pull #从远程仓库拉取同名分支到本地中进行merge
三、保存工作区和暂存区
有时候需要临时切换到别的分支或者版本中处理问题,但是当前工作区还不想提交,如果强行切换会提示需要先保存,从而导致切换失败,此时可以用下面的命令
git stash #将工作内容保存在堆栈区,此时就可以进行切换了
当处理完成后,再切回当前分支,并且使用git stash pop即可恢复