Git Hub 本地仓库

178 阅读3分钟

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

image-20220719163036985.png

  • 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操作了

\