Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
一、Git的安装
安装包下载地址:https://gitforwindows.org/
国内的镜像地址:https://npm.taobao.org/mirrors/git-for-windows/
完成安装之后,在开始菜单里找到"Git"->"Git Bash Here",会弹出 Git 命令窗口,可以在该窗口进行 Git 操作。
二、Git的基本工作流程
- 在工作目录中添加、修改文件;
- 将需要进行版本管理的文件放入暂存区域;
- 将暂存区域的文件提交到git仓库并推送到远程仓库。
- 克隆远程仓库资源作为工作目录;
- 在克隆的资源上添加或修改文件;
- 提交修改;
- 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交;
- 如果其他人修改了,你可以更新资源;
三、Git基本操作:
本地仓库的组成(三个部分):工作目录、暂存区(Index)、HEAD(指向最后一次提交的结果)
本地创建新仓库:$ git init
把更改添加到暂存区:$ git add <filename>
把当前目录所有文件添加到暂存区**:$ 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 <url>
放弃指定文件的缓存:$ git reset HEAD <filename>
重置暂存区与工作区,与上一次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
五、分支
分支是用来将特性开发绝缘开来的。在创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
创建分支:$ git branch <branchname>
创建分支并切换到该分支:$ git checkout -b <branchname>
列出会支:$ git branch
切换分支:$ git checkout <branchname>
把分支提交到远程:$ git push --set-upstream origin <branchname>
合并分支:$ git merge <branchname>
删除分支:$ git branch -d <branchname>
六、在IDE工具Pycharm中操作git
克隆gitLab上的项目到本地
1、在gitLab项目页面,点击【克隆】,复制HTTP克隆
2、进入Pycharm中点击【Git】进行clone操作
注:第一个克隆时需要输入gitLab的用户名与密码
3、进行git add 操作
4、进行commit操作提交
5、点击【Push】完成推送
6、从远程仓库拉取最新代码到本地(git pull )