2021-09-02 常用git命令行
git基本概念
每个 Git 仓库中,都有一个隐藏目录 .git 用于存放 Git 仓库的相关信息,包括暂存区(称为 stage)、自动创建的 master 分支以及指向 master 分支的 HEAD 指针。
- 本地工作区work:在自己本地电脑里能看到的目录。在
文本编辑器上改动代码文件
就是改动本地工作区上的代码文件
。- 被忽略文件:
本地工作区
中在/.gitignore
中配置的要被忽略的文件。 - 未被跟踪文件:
本地工作区
中没有被忽略并且还没执行git add
过一次的文件。 - 被跟踪文件:
本地工作区
中没有被忽略并且已执行git add
过一次的文件。
- 被忽略文件:
- 本地暂存区stage:下一次提交时的文件。一般存放在
/.git/目录下的index文件
,即/.git/index
。 - 本地分支:所有有联系的提交组合起来的集合,记录了一连串的文件提交修改信息。在
本地版本库
的某一个分支版本
。- 当前分支:当前被操作的分支,本地工作区所在的分支。与暂存区与本地工作区相关的命令就是操作的这里。
- 非当前分支:非被操作的分支,本地其它分支。
git merge
与git branch
操作的就是这里。
- 本地版本库:所有的分支组合起来的集合。在
本地工作区根目录
的.git隐藏目录/.git/
。- 当前本地版本库:记录当前本地工作区所有的改动,一般的修改与命令都是操作这里。
- 其它本地版本库:个人电脑上其它的版本库。一般涉及全局配置,如git软件的全局用户名或邮箱之类,就是操作并体现在这里。
- 远程版本库:在别的服务器上的本地版本库,一般用来做公共版本库。
- 远程分支:远程版本库的本地分支。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-brOcqv5G-1680436733342)(./Git工作区与暂存区与版本库.jpg)]
git基本操作
根据预期目的来命令
- 拉取别人新的代码
git add . //把自己的代码先提交到暂存区。git commit -m '注释' //拉取别人代码前,先保存的自己的代码到状态库中。git pull //拉取别人代码到自己的本地分支上。这一步可能会有冲突,如果有冲突,就进入解决冲突的流程中。这一步一般也需要拉取的权限,但一般知道仓库地址,并且自己是开发者时,别人都会给该权限的。
- 把自己的代码提交到远程仓库。
git add . //把自己的代码先提交到暂存区。git commit -m '注释' //拉取别人代码前,先保存的自己的代码到状态库中。git pull //拉取别人代码到自己的本地分支上。这一步可能会有冲突,如果有冲突,就进入解决冲突的流程中。git push //把自己的代码合并到远程仓库中。这一步,需要有开发者权限,要不可能推不上去,这个权限一般别人也会给的。
根据具体操作来的命令
-
把本地工作区文件放到本地暂存区
git add 文件名 //把本地工作区的对应文件放到本地暂存区 git add . //把本地工作区的所有文件放到本地暂存区
-
把本地暂存区文件提交到本地分支
git commit -m '本次把本地暂存区内所有内容提交到当前分支时的注释说明;'//把本地暂存区的所有内容一次性全部提交到当前分支并进行本次提交的注释说明,清空暂存区。
-
撤销本地工作区文件的修改
git checkout -- 文件名//撤销本地工作区对应文件相对于当前分支上一次提交的修改 git checkout -- .//撤销本地工作区所有文件相对于当前分支上一次提交的修改
-
撤销暂存区文件的修改
git reset 文件名//撤销暂存区指定文件相对于当前分支上一次提交的修改,即撤销指定文件的git add操作。 git reset .//撤销暂存区所有文件相对于当前分支上一次提交的修改