日常开发需要掌握的Git命令

本人待的两家公司,一直都是用的SVN,Git我只是自己私下学习和开发小项目的时候用过,工作一直没有使用过,但还是要学的。。。

Git是最好的分布式版本控制系统

工作流程

SVN和Git的区别

  SVN是集中式版本控制系统,版本库是集中放在中央服务器的,在工作的时候你首先要从中央服务器哪里得到最新的版本,然后在写完代码

之后,把这些内容提交到服务器。前提必须联网才能工作,一般都是公司自己的局域网

  Git是分布式版本控制系统,没有中央服务器的,每个人的电脑就是一个完整的版本库,工作的时候就不需要联网了,因为版本都是在

自己的电脑上。

多人如何协同工作:

  比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修

改了。

工作区和暂存区

工作区:

  就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区

范畴。

版本库(Repository):

  工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git

为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

分支操作

git branch 创建分支

git branch -b 创建并切换到新建的分支上

git checkout 切换分支

git branch 查看分支列表

git branch -v 查看所有分支的最后一次操作

git branch -vv 查看当前分支

git brabch -b 分支名 origin/分支名 创建远程分支到本地

git branch --merged 查看别的分支和当前分支合并过的分支

git branch --no-merged 查看未与当前分支合并的分支

git branch -d 分支名 删除本地分支

git branch -D 分支名 强行删除分支

git branch origin :分支名 删除远处仓库分支

git merge 分支名 合并分支到当前分支上

  通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来

禁用”Fast forward”模式。

暂存操作

git stash 暂存当前修改

git stash apply 恢复最近的一次暂存

git stash pop 恢复暂存并删除暂存记录

git stash list 查看暂存列表

git stash drop 暂存名(例:stash@{0}) 移除某次暂存

git stash clear 清除暂存

回退操作

git reset --hard HEAD^ 回退到上一个版本

git reset --hard ahdhs1(commit_id) 回退到某个版本

git checkout -- file撤销修改的文件(如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态)

git reset HEAD file 撤回暂存区的文件修改到工作区

标签操作

git tag 标签名 添加标签(默认对当前版本)

git tag 标签名 commit_id 对某一提交记录打标签

git tag -a 标签名 -m '描述' 创建新标签并增加备注

git tag 列出所有标签列表

git show 标签名 查看标签信息

git tag -d 标签名 删除本地标签

git push origin 标签名 推送标签到远程仓库

git push origin --tags 推送所有标签到远程仓库

git push origin :refs/tags/标签名 从远程仓库中删除标签

常规操作

git push origin test 推送本地分支到远程仓库

git rm -r --cached 文件/文件夹名字 取消文件被版本控制

git reflog 获取执行过的命令

git log --graph 查看分支合并图

git merge --no-ff -m '合并描述' 分支名 不使用Fast forward方式合并,采用这种方式合并可以看到合并记录

git check-ignore -v 文件名 查看忽略规则

git add -f 文件名 强制将文件提交

git clone http://username:password@链接,例如http://zhangsan:[email protected]/abc/def.git clone远程仓库到本地

git创建项目仓库

git init 初始化

git remote add origin url 关联远程仓库

git pull

git fetch 获取远程仓库中所有的分支到本地

忽略已加入到版本库中的文件

git update-index --assume-unchanged file 忽略单个文件

git rm -r --cached 文件/文件夹名字 (. 忽略全部文件)

取消忽略文件

git update-index --no-assume-unchanged file

拉取、上传免密码

git config --global credential.helper stor

Git命令原文地址:https://www.cxiansheng.cn/daily/490

猜你喜欢

转载自www.cnblogs.com/huigelaile/p/10913471.html