Git Hub 本地仓库
git config 用来配置
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 init & git add & git commit
git 文件
git init 初始化一个空的.git目录
git add 路径 可以选择哪些变动是需要提交的,路径可以是绝对路径、相对路径.和*
.gitignore 描述哪些变动是不需要提交的
git status 查看当前提交的状态 .git目录
git commit -m 字符串 提交,并说明提交理由 字符串如果有空格,就要用引号包起来
git commit -v & git reset
git commit -v (--verbose 啰嗦) 因为它能帮助回顾刚刚改变了什么东西,而且会迫使把提交理由写的更详细一些
git log 已经创建了一个拷贝 可以通过git log查看
git reset --hard XXXXXX XXXXXX是提交号的前6位 请一定要确保你把所有代码commit了,因为这个操作会把没有commit过的变动消失
git reflog 可以查看之前所有提交,然后用git reset --hard XXXXXX回去,实现版本之间的切换
总结
- git add 选择要提交的内容
- .gitignore文件描述不提交的内容
- git commit -v 用来提交
- git log 用来查看历史
- git reset --hard XXXXXX 用来切换版本
- git reflog 用来查看所有历史
git branch
-
git branch
- 基于当前commit 创建一个新的时间线(分支)
- 我在哪个分支提交,代码就会出现在哪个分支
-
git checkout
- 用于切换另一个分支
- 当前目录有未提交的代码,只要跟另一个分支不冲突,就不要理会
- 如果冲突了呢?可以使用git stash,也可以合并冲突
git branch 查看当前分支和所在分支,好的命令行可以知道当前在哪个分支
git branch -d x 删除一个分支
git merge
git merge 分支
有可能有冲突,也可能没冲突,要学会解决冲突
解决冲突的办法
-
发现冲突
- 在合并分支的时候,会得到conflict 提示
- 使用 git status -sb 查看哪个/哪些文件冲突了
-
解决冲突
- 依次打开每个文件
- 搜索====四个等于号
- 在上下两部分中选择要保留的代码
- 可以只选上面,也可以只选下面,甚至可以都选
- 删除不用的代码,删除====>>>><<<<这些标记
- git add对应文件
- 再次git status-sb,解决下一个文件冲突
- 直到没有冲突,运行 git commit(注意不需要选项)
cmder 命令行
ls-a ls不会打出以.开头的内容,加上-a之后显示全部内容
code . 用vscode打开当前目录 ,而不再是单个文件
总结
-
.git目录就是本地仓库
- 它不会重复复制相同的文件(优化)
- 它可以支持多个分支
-
一些细节
- git add处理的是文件变化,而不是文件,比如你删除一个文件后,依然要使用git add来进行添加到待提交区
- 学会命令行操作,就不需要GUI操作了
\