git学习

配置用户(不配置用户不能提交代码)

    git config --list
    git config --global user.name "用户名"
    git config --global user.email "邮箱"

初始化git

  • 不要在文件夹里初始化
  • 一个项目初始化一次,不能嵌套
    git init 告诉git哪个文件夹被git所管理
    git status 查看git状态  红色代表在工作区  绿色代表在暂存区

删除暂存区

   git rm --cached 文件名

添加到暂存区

   git add ./-A 文件名

添加到历史区

   git commit -m "说明"

查看历史状态

    git log

git的对比

  • git diff 工作区和暂存区
  • git diff 分支名 工作区和历史区
  • git diff --cached 暂存区和历史区比较

撤销

  • 从暂存区中将工作区内容覆盖掉
    git checkout 文件名
    git reset HEAD 文件名 回到上一次的缓存区

回滚历史版本

    git reset --hard 版本号
    git reflog 查看所有版本

回滚某个版本的文件

    git checkout 版本号 文件名

创建分支

    git branch 分支名
    git branch 查看分支

切换分支

    git checkout 分支名

删除分支

    git branch -D 分支名

删除分支时当前用户不能在当前要删除的分支上

创建并切换分支

    git checkout -b 分支名

添加文件到历史区此时两个分支就没关系了

文件修改切换分支

    git stash 暂存文件
    git stash pop 还原暂存的内容

分支有更改不能直接切换,可以提交更改或暂存更改,暂存使用过渡区覆盖掉工作区

合并分支

    git merge 分支名

先创建主干,在主干的基础上添加一个分支,在分支上进行提交,切换到主干合并分支

echo输入文件内容

    echo '内容' >> 1.txt

解决冲突

  • 遇到冲突时只能手动解决冲突,留下想要的结果再次提交

远程

本地 -> github

  • 先有github账号

本地提交

  • README.md
  • 创建一个.gitignore
  • git不会上传空文件夹添加.gitkeep在空文件夹内

关联远程仓库

    git remote add origin 地址
    git remote -v  

删除关联

     git remote rm 名字

推送代码

    git push origin master

拉取最新的代码

  • pull = git fetch + git merge
    git pull origin master(fetch + merge)

gh-pages分支来发布我们的静态页

  • 在项目中创建一个gh-pages的分支
  • 将分支提到线上仓库
  • 找到提供给你的网站 setting github-pages
    git checkout -b gh-pages
    git add .
    git commit -m ''
    git push origin gh-pages

Linux 命令

  • pwd: print working directory
  • rm -rf 文件夹 删除文件夹(慎用)
  • rm 文件名 删除文件
  • mkdir 文件夹名字 创建目录
  • cd 目录名 change directory
  • ls -al 显示目录下所有的文件
  • touch 文件名 创建文件
  • cat 文件名
  • vi 文件名
  • i:插入模式 esc: 退出编辑模式 :q!: 强制退出 :wq:保存并退出

你可能感兴趣的:(git学习)