配置本地Git
$ git config --global user.name 你的英文名
$ git config --global user.email 你的邮箱
$ git config --global push.default simple
$ git config --global core.quotepath false
$ git config --global core.editor "code --wait"
$ 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
输出的结果更加简洁。
git log
显示当前分支的历史版本
除此之外,还有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
- 等
直接运行以下命令即可:
touch ~/.bashrc
echo 'alias ga="git add"'>> ~/.bashrc
echo 'alias gc="git commit -v"'>> ~/.bashrc
echo 'alias gl="git pull"'>> ~/.bashrc
echo 'alias gp="git push"'>> ~/.bashrc
echo 'alias gco="git checkout"'>> ~/.bashrc
echo 'alias gst="git status -sb"'>> ~/.bashrc
source ~/.bashrc # 或者重启命令行