Git | git基础知识
2019-10-07 本文已影响0人
Ricsy
一、Git基础知识
Git是一个开源的分布式版本控制系统
传统场景:出现内容覆盖
Git:更新历史会保存在git上,所以不需要备份文件
1.1 Git 安装
| 平台 | 下载地址 | 描述 |
|---|---|---|
git推荐
|
https://git-scm.com/download/win | 命令行 |
| tortoisegit |
https://tortoisegit.org/download/
|
客户端 |
tortoisegit依赖于解释器git
- 安装时,可以直接一路next到结束
| git管理 | 常用命令 |
|---|---|
| 查看版本 | git --version |
| 升级 | git update-git-for-windows |
1.1.1 Q&&A
1. TortoiseGit 显示文件状态图标
2. git相关的用户信息
(1) git push时填写的用户名和密码记录在控制面板-用户帐户-凭据管理器-Windows凭据
(2) 更换某个远程仓库的用户需要先删除对应凭据后重新填写用户信息
eg:
1.2 Git 组成
| 组成 | 描述 |
|---|---|
| 本地仓库 | 为了方便用户个人使用,在自己机器上配置的仓库 |
| 远程仓库 | 配有专用的服务器,为了多人分享而建立的仓库 1. 一般会提供仓库地址,用于克隆(下载) eg(开源示例): github——国外 gitee 码云——国内 coding——国外 ... |
1.2.1 拉取 Pull
git pull
1.2.2 推送 Push
git push
1.2.3 分支 branch
git branch
将修改记录的整体流程分叉保存,分叉后的分支不受其他分支的影响
同一个仓库可以同时进行多个修改
为了不受其他开发人员的影响,可以在主分支master上建立自己的分支,完成工作后,将自己分支上的修改合并到主分支。由于每一次提交的历史记录都会被保存,所以当发生问题时,定位和修改造成问题的提交就容易的多了。
| 分支管理 | 说明 |
|---|---|
| 创建 | |
| 创建本地分支 |
git checkout -b <branch-name>或 git branch <branch-name>git checkout <branch-name>eg: git checkout -b dev
|
| 创建并关联远程分支 |
git checkout -b <本地分支名>git push --set-upstream origin <远程分支名x>eg: git checkout -b devgit push --set-upstream origin dev
|
| 拉取远程分支并创建本地分支 | git branch -r |
| 删除 | |
| 删除本地分支 | git branch -d <branch-name> |
| 强制删除本地分支 | git branch -D <branch-name> |
| 删除远程分支 | git push origin --delete <branch-name> |
| 切换 | |
| 切换分支 | git checkout <branch-name> |
| 切换到主分支 | git checkout master |
| 合并 | |
| 合并分支到当前分支 |
git merge <branch-name>eg: 选择分别克隆两个分支的代码后,在local仓库中去合并,为的是合并分支过程中,一旦冲突,方便解决 git clone <url>git checkout -b dev origin/devgit checkout mastergit merge dev解决冲突后 git push
|
| 查看 | |
| 查看本地分支 | git branch |
| 查看远程分支 | git branch -a |
- 清除所有更改
git checkout . && git clean -xdf - 清除某一个文件的更改
git checkout --<文件名>
参阅:
1.3 Git 结构
1.4 场景演示
| 业务场景 | 描述 |
|---|---|
| 获取项目源代码 |
git clone <url>或 git clone <url> <dir>eg: git clone <url> . 克隆项目中的文件到当前目录中 |
| 代码提交到本地仓库 |
git add *git commit -m "日志信息"
|
| 代码推送到远程仓库 | git push |
| 获取 | git pull |
1.4.1 解决冲突
第一种方式
git pull
git add *
git commit -m "Update"
git push
提示:
git pull后修改冲突文件
第一种方式:直接用文本编辑器修改源文件
第二种方式:使用tortoisegit修改功能![]()
1.4.2 回归
更新中......