Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
    一、Git的安装
    安装包下载地址:https://gitforwindows.org/
    国内的镜像地址:https://npm.taobao.org/mirrors/git-for-windows/
    image.png
    完成安装之后,在开始菜单里找到”Git”->”Git Bash Here”,会弹出 Git 命令窗口,可以在该窗口进行 Git 操作。
    二、Git的基本工作流程

    • 在工作目录中添加、修改文件;
    • 将需要进行版本管理的文件放入暂存区域;
    • 将暂存区域的文件提交到git仓库并推送到远程仓库。
    • 克隆远程仓库资源作为工作目录;
    • 在克隆的资源上添加或修改文件;
    • 提交修改;
    • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交;
    • 如果其他人修改了,你可以更新资源;

    三、Git基本操作:
    本地仓库的组成(三个部分):工作目录、暂存区(Index)、HEAD(指向最后一次提交的结果)
    image.png
    本地创建新仓库:$ git init
    把更改添加到暂存区:$ git add
    把当前目录所有文件添加到暂存区:$ git add .
    比较工作区与暂存区的文件:$ git diff
    比较暂存区与本地仓库的差别:$ git diff —cached
    比较工作区与本地仓库的差别:$ git diff HEAD
    把更改提交到HEAD: $ git commit -m “代码提交说明”
    添加远程仓库:$ git remote add origin https://gitee.com/smilepassed/jcmall_teach.git
    查看关联的远程仓库:$ git remote -v
    把关联的远程仓库删除:$ git remote rm origin
    把代码提交到远程仓库(第一次提交):$ git push -u origin master
    更新你的本地仓库至最新改动: $ git pull
    提交本地仓库最新改动到远程仓库: $ git push
    克隆服务器上的仓库:$ git clone
    放弃指定文件的缓存:$ git reset HEAD
    重置暂存区与工作区,与上一次commit保持一致:$ git reset —hard
    重置暂存区的指定文件,与上一次commit保持一致,但工作区不变:$ git reset [file]
    恢复暂存区的指定文件到工作区:$ git checkout — filename
    恢复暂存区的所有文件到工作区:$ git checkout .
    恢复到上一次的commit:$ git reset —hard HEAD^
    查看提交记录:$ git log
    恢复到指定的commit: $ git reset —hard commitid

    四、Git 撤消放弃本地修改
    1、未使用 git add 添加到暂存区时
    可以使用 git checkout — filename (比如: git checkout — readme.md )。
    放弃所有的文件修改可以使用 git checkout . 命令。
    此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。
    2、已经使用了 git add 缓存了代码。
    可以使用 git reset HEAD filename (比如:git reset HEAD readme.md)来放弃指定文件的缓存。
    放弃所有的缓存可以使用 git reset HEAD . 命令;
    此命令用来清除 git 对于文件修改的缓存。在使用本命令后,本地的修改并不会消失。
    3、已经用 git commit 提交了代码。
    可以使用 git reset —hard HEAD^ 来回退到上一次commit的状态。
    此命令可以用来回退到任意版本:git reset —hard commitid
    可以使用 git log 命令来查看git的提交历史。git log 的输出如下,之一这里可以看到第一行就是 commitid
    image.png

    五、分支
    分支是用来将特性开发绝缘开来的。在创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
    使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
    创建分支:$ git branch
    创建分支并切换到该分支:$ git checkout -b
    列出会支:$ git branch
    切换分支:$ git checkout
    把分支提交到远程:$ git push —set-upstream origin
    合并分支:$ git merge
    删除分支:$ git branch -d

    六、在IDE工具Pycharm中操作git
    克隆gitLab上的项目到本地
    1、在gitLab项目页面,点击【克隆】,复制HTTP克隆
    image.png

    2、进入Pycharm中点击【Git】进行clone操作
    image.png
    image.png
    注:第一个克隆时需要输入gitLab的用户名与密码
    3、进行git add 操作
    image.png
    4、进行commit操作提交
    image.png
    image.png
    image.png
    5、点击【Push】完成推送
    image.png
    6、从远程仓库拉取最新代码到本地(git pull )
    image.png