1. 初始化本地用户
在使用 git 之前,我们先设置本地的账号,设置一下本地 git 用户的用户名和邮箱,如下命令
# 配置用户名
git config --global user.name "ssx"
# 配置邮箱
git config --global user.email ssx@example.com
配置好本地账号信息之后,就可以使用了。实际上本地的账号可以任意设置,与远端账号关系不大,只是记录我们在本地仓库操作的用户信息而已。
2. 创建本地仓库
在自己的工作目录里,执行git初始化命令即可,如下命令
# 初始化git仓库
git init
初始化完成后当前目录变成了 git 的工作目录,此时在这个目录下会生成名为 .git 的隐藏目录,这个目录就是 git 保存文件变动信息的目录,本地的所有变动记录都在这里。这个目录不能删除,如果删除之后,工作目录将不再是一个 git 的工作目录。
3. 将本地代码提交到Git缓存区
我们可以在本地添加一个文本文件,如下命令
# 创建一个文本文件
touch test.txt
这个时候,我们可以使用git 将 test.txt 文本文件提交到 git 缓存区,使用以下命令
# 将 test.txt 文件提交到 git 缓存区
git add test.txt
或者使用另一个命令
# 将当前目录所有文件提交到 git 缓存区
git add .
4. 将缓存区的代码提交到本地仓库
使用以下命令将代码提交到本地仓库,就完成托管了,如下命令
# 将本地git缓存区代码提交到本地仓库,-m 参数后面是提交备注
git commit -m "first commit"
提交到git仓库的代码,我们就可以使用 git 的很多实用功能,如回退代码、查看代码变动历史等等。
5. 将代码提交到远程仓库
本地仓库的可以提交到远程仓库,远程仓库也可以实时同步最新代码到本地仓库。在实际开发中,一般是多个人共用一个远程仓库,因为一个稍微有规模的项目通常不是一个人开发的,而是多个人共同维护一套代码。下面是将本地代码同步到远端的基本操作:
假如我们在Gitee仓库上创建了一个仓库,仓库的git地址为 https://gitee.com/xiaoxingdev/testgit.git,我们使用以下命令即可将本地代码提交到远端仓库。
# 将本地仓库绑定远程仓库
git remote add origin https://gitee.com/xiaoxingdev/testgit.git
# 将本地的当前master分支代码提交远端master
git push -u origin master
进行账号验证之后,即可成功将代码推送到远端git仓库。
6. 从远端克隆仓库
我们在 gitee 上有一个现有的仓库 https://gitee.com/xiaoxingdev/testgit.git。
将远程 testgit 仓库克隆到本地,克隆完成后本地将自动创建出 testgit 目录,同时远端的文件同步到本地。
# 将远端 testgit 仓库克隆到本地
git clone https://gitee.com/xiaoxingdev/testgit.git
克隆的同时可以也重命名,如下命令
# 将远端 testgit 仓库克隆到本地,同时命名为 demo1
git clone https://gitee.com/xiaoxingdev/testgit.git demo1
7. 查看仓库的状态
git status
8. 查看git提交记录
每次提交的变更内容,都会被 git 记录下来,我们可以使用以下命令查看 git 提交记录
git log
9. 查看文件差异
在 git 仓库中的文件,都会被 git 跟踪,如文件修改历史、是否是新文件、提交提交历史等等。
git diff 命令用于查看的文件的差异,我们可以通过该指令对比文件的各种差异,以下是一些常用指令
# 比较所有文件与缓存区文件差异
git diff
# 比较当前文件和缓存区文件差异
git diff <file>
# 比较两次提交之间的差异
git diff <id1> <id2>
# 在两个分支之间比较
git diff <branch1> <branch2>
# 比较缓存区和版本库差异,与下一条指令的效果一样
git diff --staged
# 比较缓存区和版本库差异,与上一条指令的效果一样
git diff --cached
# 仅仅比较统计信息
git diff --stat
但要注意的是,只有使用 git add 指令将文件文件到缓存区之后,文件的信息才会被记录。
10. 创建和提交新分支
# 创建新分支
git checkout -b xxx(分支名xxx)
# 提交新分支
git add .
git commit -m "第一次提交"
git push -u origin xxx(分支名xxx)
11. 切换分支
git checnkout xxx(分支名xxx)
12. 获取和查看全部分支
# 获取全部分支
git fetch
# 查看全部分支
git branch -a
13. 合并dev分支到master
# 切换到master分支
git checkout master
# 更新master分支代码到最新
git pull origin master
# 把dev(你要合并到master的基分支)分支的代码合并到master上
git merge dev
# 提交
git push -u origin master
14. 将某个分支直接覆盖master分支(慎用)
# 确保本地的branch_xxx分支已最新
git checkout branch_xxx
git pull origin branch_xxx
# 切换到master分支
git checkout master
# 使用branch_xxx分支覆盖master分支
git reset --hard origin/branch_xxx
# 提交
git push -f
15. clone指定分支
git clone -b branch_xxx https://gitee.com/xxx/xxx.git