配置本地Git

  1. $ git config --global user.name 你的英文名
  2. $ git config --global user.email 你的邮箱
  3. $ git config --global push.default simple
  4. $ git config --global core.quotepath false
  5. $ git config --global core.editor "code --wait"
  6. $ git config --global core.autocrlf input

一般安装Git软件还是开箱用cmder里的Git,都需要配置这六行代码。

上面的邮箱以及英文名跟GitHub完全没有关系,因为这只是在本地的信息,提交代码的时候这个提交包含这个英文名和邮箱!

Git命令初识

git init

git init 在当前目录创建 .git目录 ,代表这个目录下新建一个Git代码库。

git add 路径

将指定文件纳入版本管理,一般直接 git add . ,表示这个目录下所有的文件都纳入版本管理,也就是提交到暂缓区。 :::success 对于不需要提交的文件,只需要兴建 .gitignore 文件,把不需要提交的文件名写在该文件内。
一般不需要 commit 的文件有:

  • node-modules
  • .DS_Store
  • .idea
  • vscode :::

git commit -m 字符串

提交文件(提交暂缓区到仓库区),并说明提交说明或是理由,如果字符串里有空格,需要用引号把整个字符串括起来! :::success 这个命令可以吧参数 -m 换成 -v ,提交的过程会新开一个编辑器窗口,里面是一些提交代码的信息,方便回顾代码,可以在开头写一些提交说明或者理由,关掉窗口后就完成提交。 :::

git status

命令用于显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到了, 哪些没有。
可以添加参数 git status -sb 输出的结果更加简洁。
image.png

git log

显示当前分支的历史版本
image.png
除此之外,还有
git log --stat :显示commi历史,以及每次commit发生变更的文件。
git reflog :显示当前分支的所有提交的历史。

git reset

git reset --hard xxxx (xxxxx是提交号的前6位,命令 git reflog 可以查看提交号)
这个操作是回退到想要重新开始的版本。 :::danger 注意:一定要在使用此操作之前,一定要把当前所有代码都 commit ,否则假如有一些代码因为已经提交到展缓区还没有commit就会因为此操作而消失!!! :::

git branch

git branch [branch-name] 新建一个分支,并停留当前分支。相当于我复制了一份文件,这样我就有两份一模一样的文件。
类似操作如下:

  • git checkout -b [branch 新建一个分支,并切换到新建的分支。
  • git checkout [branch-name] 切换到指定分支,并更新工作区。

git marge

git marge [brange-name] 分支合并到当前的分支。

注意:此操作十分容易出现冲突并报错,请镇定下来查看报错并解决冲突。

一般解决办法:

  • 命令 git status -sb 查看哪些文件冲突。
  • 依次打开每个文件。
  • 搜索 ==== (四个等于号)
  • 在上下两部分选择需要保留的代码。选择上面或选择下面或都可以选择。
  • 删除不需要的代码。删除 ====>>>><<<< 这些标记。
  • 使用 git add 对应的文件。
  • 再次 git status -sb ,解决下一个冲突。
  • 直到没有冲突为止。

Git高级使用

可以使用 bash alias 简化命令,如

  • git add >> ga
  • git commit -v >> gc
  • git pull >> gp

直接运行以下命令即可:

  1. touch ~/.bashrc
  2. echo 'alias ga="git add"'>> ~/.bashrc
  3. echo 'alias gc="git commit -v"'>> ~/.bashrc
  4. echo 'alias gl="git pull"'>> ~/.bashrc
  5. echo 'alias gp="git push"'>> ~/.bashrc
  6. echo 'alias gco="git checkout"'>> ~/.bashrc
  7. echo 'alias gst="git status -sb"'>> ~/.bashrc
  8. source ~/.bashrc # 或者重启命令行