一、git理论知识
1.1什么是git?
GIT(分布式版本控制系统)
git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过git clone,在本地机器上拷贝一个完整的GIT仓库。
1.2开发过程
使用流程:
-
初始化一个Git仓库(git init)
-
设置用户名和邮箱
-
添加文件到仓库(git add 文件名1 文件名2)
-
提交(git commit -m 说明文字)
-
查看版本(git log)
-
回退(git reset --hard HEAD^/commit_id)
二、操作细节
2.1初始化git仓库
-
在想要创建git仓库的文件夹中,在文件路径搜索行中输入"cmd"
-
在cmd中输入git init 回车
-
注意:这个.git目录是隐藏的文件夹,需要设置显示隐藏的内容,才可以看见,我们不需要在这个文件中进行任何操作
2.2设置用户名和邮箱
-
在编码器中的命令行中输入git config --global user.name "鎏金聋",设置作者的用户名。
-
然后输入git config --global user.email "1213445454@qq.com" ,设置邮箱号。
-
注意:必须要设置这些,否则后续的一些操作将无法完成。
2.3添加文件到仓库
-
git add 文件名/. 点代表所有文件
-
这里的文件,就是我们的项目文件。如index.html,test.css等
-
注意:我们在使用命令的时候,经常没有提示。有就是错误
2.4提交
-
git commit -m "提交的备注"
-
提交的备注不能少,如果没有写,则无法commit
-
此操作就是把刚刚添加到仓库的所有文件,提交成一个版本。
2.5查看版本情况
-
使用git log查看版本情况
-
查看后会显示出commit 后面的是版本号,用于版本回退,
-
Authour后面的是用户名和邮箱
-
Date后面的是执行操作的时间
2.6回退
-
我们可以回退到任何一个版本
-
git log/reflog 找到历史版本
-
git reset --hard 版本号 设置回退
三、分支
分支就是把不同种类的版本代码分开
3.1创建新的分支
git branch 分支名字(创建了一个新分支,和主分支最后一次commit结果相同)
3.2查看分支
git branch 分支名称
3.3切换分支
git checkout 分支名称
3.4合并分支
git merge 分支名称
3.5解决冲突
accept current change 使用原来的代码 accept incoming change 使用传入的代码 accept both changes 保留两个代码 compare changes 对比冲突
四、远程仓库
4.1远程仓库平台
-
码云 HostGator Web Hosting Website Startup Guide
4.2操作流程
步骤 代码实现 查看远程仓库 git remote -v 添加远程仓库 git remote add origin https://gittee.com/klsajdflk/nb01.git 推送到远程仓库 git push origin 分支名(默认是master) 克隆仓库 git clone 远程地址 篮球远程代码 git pull origin 分支名(默认值master) 五、命令总结
master、Head:默认开发分支
origin:默认远程版本库
Head^:Head的父提交
5.1创建版本库
操作步骤 | 命令实现 |
---|---|
克隆远程版本库 | git clone <url> |
初始化本地版本库 | git init |
5.2修改和提交
操作步骤 | 命令实现 |
---|---|
查看状态 | git status |
查看变更内容 | git diff |
跟踪所有改动过的文件 | git add . |
跟踪指定的文件 | git add <file> |
文件改名 | git mv <old> <new> |
删除文件 | git rm <file> |
停止跟踪文件但不删除 | git rm --cached <file> |
提交所有更新过的文件 | git commit -m "commit message" |
修改最后一次提交 | git commit --amend |
5.3查看提交历史
步骤操作 | 代码实现 |
---|---|
查看提交历史 | git log |
查看指定文件的提交历史 | git log -p <file> |
以列表方式查看指定文件的提交历史 | git blame <file> |
5.4撤销
步骤操作 | 代码实现 |
---|---|
撤销工作目录中所有未提交文件的修改内容 | git reset --hard HEAD |
撤销指定的未提交文件的修改内容 | git checkout HEAD <file> |
撤销指定的提交 | git rever <commit> |
5.5分支与标签
步骤操作 | 代码实现 |
---|---|
显示所有本地分支 | git branch |
切换到指定分支或标签 | git checkout <granch/tag> |
创建新分支 | git branch <new-branch> |
删除本地分支 | git branch -d <branch> |
列出所有本地分支 | git tag |
基于最新提交创建标签 | git tag <tagname> |
删除标签 | git tag -d <tagname> |
5.6合并与衍合
步骤操作 | 代码实现 |
---|---|
合并指定分支到当前分支 | git merge <branch> |
衍合指定分支到当前分支 | git rebase <branch> |
5.7远程操作
步骤操作 | 代码实现 |
---|---|
查看远程版本库信息 | git remote -v |
查看指定远程版本库信息 | git remote show <remote> |
添加远程版本库 | git remote add <remote> <url> |
从远程库获取代码 | git fetch <remote> |
下载代码及快速合并 | git pull <remote> <branch> |
上传代码及快速合并 | git push <remote> <branch> |
删除远程分支或标签 | git push <remote> :<branch/tag-name> |
上传所有标签 | git push --tags |