笔记-git 使用

151 阅读5分钟

以下内容是在 Windows 上验证的效果。

1. git安装

在 git 官网 下载需要的版本,安装即可。

安装完成之后,在电脑任意位置右键,出现下图中命令,说明安装成功了

image.png

  • git GUI Here: 图形化界面
  • git Bash Here: 命令窗口界面,建议使用此命令打开

2. 常用命令

2.1 初始化

命令: git init

初始化仓库,初始化会生成一个 .git 的隐藏文件夹,用来对我们项目代码进行备份存储

2.2 配置个人信息

配置用户名: git config --global user.name "用户名"

配置邮箱: git config --global user.email "邮箱"

注意: 配置邮箱时,邮箱可以是不存在的,但是要符合邮箱的命名规则,命令之间可以有多个空格,但至少要有一个。 例:

git config --global user.name "muzi"
git config --global user.email "mz@qq.com"

如果命令后面不跟参数,则可以查看用户名和邮箱

git config user.name
git config user.email

2.3 提交代码到本地

提交到暂存区:

git add 文件路径: 将所指定的文件放到暂存区

git add .: 将所有被修改的文件添加到暂存区

git commit -m '提交信息': 将暂存区的文件提交到版本库中

每次将文件先提交到暂存区,再提交到版本库太麻烦,可以缩写为一个命令,直接从工作区提交到版本库。

命令: git commit --all -m "提交信息"

  • --all 表示是把所有修改的文件提交到版本库

我们将根目录(不包括 .git 文件)叫做 工作区,将 git add 命令之后存放代码的地方叫做 暂存区, 将 git commit -m 命令之后存放代码的地方叫做 版本库

例:

git add ./readme.md
git commit -m "完成首页"

注意:如果在输入命令时,git commit 就直接回车,会进入另一种模式,这是一种编辑模式,也可以用来填写 '说明信息',需要按 ”i“ 键,就可以输入了。

2.4 查看状态

命令: git status

用来查看当前代码有没有被放到仓储中去

如果查看的状态提示是红色,说明修改后的文件还没有执行 git add 命令

如果是绿色,说明执行了 git add, 但是没有执行 git commit 命令

如果提示 clear ... , 说明已经提交到了git仓库中(版本库中)。

image.png

2.5 查看日志

git log: 查看历史提交记录

git log --oneline: 提交日志一行展示,查看简洁版的记录

git reflog:查看所有提交记录

注意: git log 只能查看当前版本之前的提交历史记录,比如提交了五次,此时 git log 可以查看到五次提交记录,如果回退到第三次提交,再使用 git log,就只显示前三次的提交历史,第四次和第五次的不显示。 此时,可以用 git reflog 命令,来查看所有的提交历史。

2.6 版本回退

命令: git reset --hard 版本号

例如

// 回退到上一次代码提交时的状态
git reset --hard Head~0

// 回退到上上次代码提交时的状态
git reset --hard Head~1

// 通过版本号精确的回退到某一次提交时的状态
git reset --hard 97fg35

注意: 上面 Head~0, 表示回退到上一个版本,通过数字的改变,可以回退到不同的版本,但是如果提交的版本次数很多时,这个数字就不容易确定,而且还有可能输错,比如将 89 输成 88。 这时,可以通过版本号来精确回退。

2.7 分支

默认有一个主分支 master

git branch: 查看本地当前有哪些分支, 带星号且绿色标记的表示当前正处于的分支。

git branch 分支名: 创建分支

git checkout 分支名: 切换分支

git merge 分支名: 合并分支

git branch -d 分支名: 删除分支

git branch -r : 查看远程有哪些分支

git checkout -b 分支名: 创建并切换分支

注意: 合并分支时必须处于要合并到的分支, 例如将 dev 分支合并到 master 分支,必须先处于 master 分支。 删除分支,必须先位于其它分支, 比如删除 dev 分支,当前分支不能是 dev 。

// 创建 dev 分支
git branch dev

// 切换到 login 分支
git checkout login

// 合并 dev 分支到 login 分支(上一步已经切换到了 login 分支)
git merge dev

// 删除 dev 分支(上一步已经切换到了 login 分支)
git branch -d dev

2.8 提交到远程分支

命令: git push [远程仓库地址] [远程仓库分支名称]

例: git push https://github.com/mz/test112.git master

2.9 拉取远程分支

git clone 仓库地址: 一般只在第一次拉取代码时使用。

git pull 仓库地址 分支名称: 拉取远程分支数据到本地分支

2.10 简化 push 和 pull操作

提交和拉取代码在日常开发中使用频率非常高,如果每次都输入 仓库地址和分支名称,就显得有些麻烦了,我们可以通过设置简化每次操作的命令。

git remote add xxx 远程仓库地址: 与远程仓库建立关联

例: git remote add origin git@github.com:mz/test.git, 以后提交和拉取就可以用如下命令: git push origin master , git pull origin dev, 相当于用 origin 指代了仓库地址, 当然 roigin 名称可以任意起。

当提交代码时,加一个参数,之后拉取和提交会更简单, 只需要在第提交代码时加上 -u 参数, 例 git push origin -u master, 就可以将本地的当前分支 与 -u 后面的远程分支建立关联,以后提交和拉取只需要使用 git push, git pull 就可以了。

3. git中的忽略文件

.gitignore 这个文件中可以设置要被忽略的文件或者目录。 被忽略的文件不会被提交仓储里去

该文件位于项目根目录下。如果没有,可以自己手动创建。

.gitignore 中设置忽略文件的方法:

  • / 开头
  • 一行写一个路径
  • 例如
  • /.idea : 会忽略 .idea 文件
  • /js : 会忽略 js 目录下的所有文件
  • /js/*.js: 忽略js目录下所有js文件