这是我参与「第三届青训营 -后端场」笔记创作活动的的第 2 篇笔记
Git的简单介绍
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是分布式的,SVN是集中式的, 这是 Git 和 SVN 最大的区别。
Git的基本命令
项目初始化:进入项目文件夹,执行 git init
git add:命令可将该文件添加到暂存区。
git add .:增加当前子目录下所有更改过的文件至index。
git status:命令用于显示工作目录和暂存区的状态。
git commit -m 'xxx' :提交
查看remote:git remove -v
添加remote:git remote [orgin_ssh@github.com](https://link.juejin.cn/?target=mailto%3Aorgin_ssh%40github.com "mailto:orgin_ssh@github.com"):git/git/git
获取当前版本代码:通过ref指向的commit可以获取唯一的代码版本 获取历史版本代码:commit里面会存有parent commit字段,通过commit的串联获取历史版本代码。
修改历史版本:
commit - amend修改最近一次commit信息,修改后commit id会变- 2、rebase
- 合并commit
- 修改具体的commit message
- 删除某个commit
- 3、
filter -branch指定删除所有提交中的某个文件或者全局变量的修改
Git Clone & Pull & Fetch:
- Clone
- 拉取完整的仓库到本地目录可以指定分支,深度。
- Fetch
- 将远端某些分支最新代码拉取到本地,不会执行merge操作,会修改refs/remote内的分支信息,如果需要和本地代码合并需要手动操作。
- Pull
- 拉取远端某分支,井和本地代码进行合井,操作等同于
git fetch+git merge,也可以通过git pull --rebase完成git fetch+git rebase操作。 - 可能存在冲突,需要解决冲突。
- 拉取远端某分支,井和本地代码进行合井,操作等同于