1. 配置
# 检查配置信息
$ git config --list
# 查看全局配置列表
$ git config --global -l
# 查看局部配置列表
$ git config --local -l
# 查看所有的配置以及它们所在的文件
$ git config --list --show-origin
# 修改本地默认分支 master变为main
$ git config --global init.defaultBranch main
# 设置全局用户名/邮箱
$ git config --global user.name "姓名"
$ git config --global user.email "你的邮箱地址"
# 设置当前工作区仓库用户名/邮箱
$ git config --local user.name "姓名"
$ git config --local user.email "你的邮箱地址"
# 检查 git 的某一项配置
$ git config user.name
$ git config user.email
# 删除配置
$ git config --unset --global user.name
$ git config --unset --global user.email
# 记住提交账号密码, 下次操作可免账号密码
$ git config --global credential.helper store # 永久
$ git config --global credential.helper cache # 临时,默认15分钟
2. 初始化仓库
# 当前目录生成 .git 文件
$ git init
# 在当前目录下创建一个裸仓库,里面只有 .git 下的所有文件
$ git init --bare
# 新建一个目录并初始化
$ git init <project-name>
3.Git 基本指令的使用
- git config:配置信息
- git add:添加文件到缓存命令
- git status:查看文件的状态命令
- git diff:查看更新的详细信息命令
- git vim:修改文件信息
- git reflog:查看版本信息
- git commit:提交命令
- git reset HEAD:取消缓存命令
- git reset --hard 版本号:版本穿溯
- git rm:删除命令
- git mv:移动或重命名命令
根据上面git status命令的提示内容,我们可以得到三种处理情况:
- 暂存文件的命令:git add <文件名>
- 放弃未暂存文件的修改命令:git checkout – <文件名>
- 将被修改的文件暂存并提交的命令:git commit -a
执行 git diff 来查看更新的详细信息,与git status不同的是,git status只显示更新的状态,而 git diff 可以显示已写入缓存与已修改但尚未写入缓存的改动的区别具体的详细信息。
- 尚未缓存的改动:git diff
- 查看已缓存的改动: git diff --cached
- 查看已缓存的与未缓存的所有改动:git diff HEAD
- 显示摘要而非整个 diff:git diff --stat
5.git commit
git commit 将缓存区内容添加到仓库中,可以在后面加-m选项,以在命令行中提供提交注释,格式如下
6. git reset HEAD
git reset HEAD 命令用于取消已缓存的内容,如我们要取消已提交的test.txt文件,可以如下使用:
git reset HEAD test.txt
7. git rm
如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以如下使用:
git rm <file>
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
git rm -f <file>
如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可
git rm --cached <file>
可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:
git rm –r *
8.git mv
git mv 命令用于移动或重命名一个文件、目录、软连接,如要将一个test.txt文件重命名为newtest.txt,则可以使用如下命令
git mv test.txt newtest.txt
4.Git---分支
几乎每种版本控制系统都支持分支管理,使用分支我们可以从主干中分离出来,然后继续开发,不影响主干。下面介绍一下Git中分支常用的命令:
git branch:查看分支命令
git branch (branchname):创建分支命令
git checkout (branchname):切换分支命令
git merge:合并分支命令
git branch -d (branchname):删除分支命令
合并冲突
合并分支时,两个分支在同一个文件的同一个位置上的时候有完全两套不同的修改,Git无法替我们决定使用哪个,必须人为决定新代码的内容
当前所在的分支,其实是由HEAD决定的,所以创建分支的本质就是多创建一个指针。
HEAD如果指向master,那我们现在就在mater分支上
HEAD如果指向hotfix,那我们现在就在hotfix分支上
5.GIT团队协作
1.团队内协助和2.远程协助