Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。
一、Git的工作原理
二、Windows上安装Git
一般我们工作的电脑都是Windows系统,要使用git首先要进行安装。从软件管家或者其他平台找到git的安装包,下载后默认安装即可。
安装后,鼠标右击可以看到:
git gui here 直译过来的意思就是 (GUI配置)克隆git库
git bash here 直译过来就是 用BASH设置克隆git库操作
三、 Git的配置
配置全局用户:
$ git config --global user.name "用户名"
$ git config --global user.email "git账号"
删除全局配置:
$ git config --global --unset alias.xxx
$ git config --global --unset user.xxx
四、Git 常用命令
注意:括号()表示对前一个单词的说明!!!
当前 git bash 启动位置下面的指定文件,克隆分支到本地:
$ git clone URL(远程的url)
查看工作区和暂存区的状态:
$ git status
查看文件修改的内容:
$ git diff
将工作区的文件提交到暂存区:
$ git add .
提交到本地仓库:
$ git commit -m '本次提交说明'
add和commit的合并,便捷写法(未追踪的文件无法直接提交到暂存区/本地仓库):
$ git commit -am '本次提交说明'
将本地分支和远程分支进行关联:
$ git push -u origin branchName(当前分支名)
将本地仓库的文件推送到远程分支:
$ git push
获得历史修改记录
$ git log
使记录只显示主要的内容,一行显示:
$ git log --pretty=oneline
拉取远程分支的代码:
$ git pull origin branchName(当前分支名)
合并分支:
$ git merge branchName(需要合并过来的分支)
查看本地拥有哪些分支:
$ git branch
创建分支:
$ git branch branchName(分支名)
切换分支:
$ git checkout branchName(想切换编码的分支)
删除一个已被终止的分支:
$ git branch -d <branch_name>
删除一个正打开的分支:
$ git branch -D <branch_name>
恢复被删除分支 <hash_val>是散列值,用git reflog查看:
$ git branch <branch_name> <hash_val> (git branch <branch_name> HEAD@{4})
显示整个本地仓储的commit,包括所有branch的commit,甚至包括已经撤销的commit:
$ git reflog
丢弃工作区的修改:
$ git checkout -- readme.txt
五、Git版本回退方法
方法一:
1.远程找到commit id
123dcfaa4560b6b2e5cbbb9c0sddrrgg
2. Git命令 回退到某个版本命令
$ git reset --hard 123dcfaa4560b6b2e5cbbb9c0sddrrgg
3.强制提交可能会失败(需要解决对应分支的保护状态):
$ git push -f -u origin branchName(分支名) 或者
$ git push origin branchName(分支名) --force
方法二:
1.还没合并或者修改之前打个tag,为了说明清楚可以用后者命令打tag
$ git tag tagName(标记) 或者
$ git tag -a tagName(标记) -m "my tag"
2.tag进行回滚
$ git reset --hard tagName(标记)
3.强制提交可能会失败(需要解决对应分支的保护状态):
$ git push -f -u origin branchName(分支名) 或者
$ git push origin branchName(分支名) --force
六、git撤销修改(未git add和已git add的内容的内容回退)
1.查看当前提交状态
git status 看当前是在工作区还是暂存区
2.假设当前是暂存区,先变为工作区
git reset HEAD -- readme.txt(需要回退文件)
3.工作区丢弃修改(git checkout -- file
命令中的--
很重要,没有--
,就变成了“切换到另一个分支”的命令),执行以下命令,文件就被删除了
git checkout -- readme.txt