git 分布式版本控制系统。
使用远程仓库时候会有多个协议可以选择,使用https不仅仅速度慢,而且每次push都要输入口令。
HEAD
当前版本的指针,当切换本地版本的时候会快速指向指定版本文件
master
git为我们创建主分支
origin
远程仓库的名称
Git基础(常用命令)介绍_git命令_fengbingchun的博客-CSDN博客
git命令大全___松子的博客-CSDN博客
安装git之后,需要配置用户名和邮箱
git config --global user.name "summer"
git config --global user.email summer@163.com
git init 创建新的git仓库
git clone 克隆git仓库
git diff 查看尚未暂存的文件更新了哪些部分
单单git diff不过是显示还没有暂存起来的改动,而不是这次工作和上次提交之间的差异。
如要看已经暂存起来的文件和上次提交时的快照之间的差异,可以用:
git diff --cached或git diff --staged
比较两个提交之间的差异:
git diff commit1 commit2
git status查看所有文件状态
忽略某些文件:可以创建一个名为.gitignore的文件,列出要忽略的文件模式。
git add 将文件添加到暂存区
git commit -m [massage]
将暂存区所有文件添加到本地仓库
如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行--amend 提交:
git commit -m "initial commit"
git add forgotten_file
git commit --amend
三条命令最终得到一个提交,第二个提交命令修正了第一个的提交内容。
git clean -df
加-d
是指包含目录,加-f
是指强制,删除所有未跟踪的文件
git log
显示所有commit日志
远程仓库的使用:远程仓库是指托管在网络上的项目仓库。管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分支,定义是否跟踪这些分支等。
查看当前的远程库:要查看当前配置有哪些远程仓库,可以用
git remote
git push
将文件添加到远程仓库
git checkout [branch]
切换分支
git switch [branch-name]
切换到已有分支
git checkout -b [new-branch-name]
创建并切换分支
git branch
查看当前分支
git merge
合并本地origin/[branch-name]
和HEAD->[branch-name]
的代码,并同步到工作空间
git merge --quit
退出当前分支合并,当合并后冲突很多,要撤回合并分支就可以用这个命令
git rm 删除暂存区的文件
git reset reset是彻彻底底的回退,该commit之后的所有修改将完全消失,包括提交记录。
git revert revert执行后会产生新的commit记录,是通过一次新的commit来恢复到之前旧的commit,但revert会保留恢复的该次提交后面的其它提交内容,假如后面的提交与要恢复的提交更改了同一地方,此时用revert就会产生冲突! revert t1,是撤销t1这次提交,但是后续提交的t2,t3在t1的基础上做的改动,所以会产生冲突。
reset执行后HEAD会后移,而revert的HEAD则一直是向前的;
git中reset和revert的区别是什么-git-PHP中文网
git stash
隐藏当前工作的修改
git remote
查看本地添加了哪些远程分支地址
git fetch
拉取远程分支最新的commit到本地仓库的origin/[branch-name]
git pull
从远程仓库拉取代码到工作空间
pull 和 fetch的关系
git pull
==git fetch
+git merge
fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。git pull 命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。
git tag
查看所有标签
git show [tag-name]
查看标签的详细信息
git rebase -i HEAD~2 合并前两个历史提交,会弹出vim修改信息,修改第二行的pick为s,或者为squash,squash为合并的意识,然后保存退出编辑,会打开第二个vim编辑,合并并修改commit内容,保存退出会产生一个新的commit id,这样就合并了两个commit