Git下载链接:https://git-scm.com/downloads
Git小乌龟下载链接:https://tortoisegit.org/download/
语言包下载链接:https://tortoisegit.org/download/
版本控制:
-
Git-2.13.0-64-bit.exe:Windows版本的Git工具安装包
-
TortoiseGit-2.4.0.2-64bit.msi:Git的可视化工具安装包
-
TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN.msi:TortoiseGit工具的汉化包
本地仓库构建
构建本地仓库构建有三种方式:
方式一:通过Git自带的图形化界面进行构建
鼠标右键,Git GUI Here,然后点第一个Create New Repository
方式二:通过Git命令来构建
鼠标右键,Git Bash Here然后输入git init
方式三:通过TortoiseGit构建
鼠标右键,看到Git Create repository Here
Git管理的组成结构
-
本地版本控制Git服务器
-
工作区【Work Dir】:就是你开发和修改代码的地方
-
暂存区【Index】:临时存放你即将提交的版本的地方
-
所有需要保存的版本必须先添加到暂存区
-
-
本地版本仓库【HEAD】:本地的版本库,实现本地的版本的管理
-
所有暂存区的版本会被提交到本地版本库
-
-
-
远程版本仓库:用于共享项目代码版本
-
GitHub、Gitee
-
Git操作(添加、提交)
Add添加
通过命令方式添加
#添加一个或者多个文件到暂存区
git add [file1] [file2] ...
#添加指定目录到暂存区,包括子目录
git add [dir]
#添加当前目录下的所有文件到暂存区
git add .
#如何嫌命令难记,也可以使用下述的tortoiseGit工具操作
通过Tortoise工具添加
Commit提交
通过命令方式添加
#前面我们使用 git add 命令将内容写入暂存区。
#git commit 命令将暂存区内容添加到本地仓库中。
#master涉及分支的管理,我们后面细说。
git commit -m [message]
提交的时候最好写上提交日志 便于后续浏览排查。
通过Tortoise工具添加
提交到本地库
# 前面我们使用 git add 命令将内容写入暂存区。
git commit 命令将暂存区内容添加到本地仓库中。
# master涉及分支的管理,我们后面细说。
git commit -m [message]
# 提交的时候最好写上提交日志 便于后续浏览排查。
查看本地版本库
Git基本操作--修改、还原
实现基于本地版本库的修改提交step1:修改文件
step2:提交第二个版本
step3:修改并提交第三个版本
step4:查看版本日志
还原:修改文件,但未提交
使用tortoiseGit工具,可以将工作区的内容还原至最后一个提交的版本。
Git基本操作--版本差异比较、回退
修改文件
工作区与最新版本的差异
工作区与倒数第二个版本的差异
工作区与之前任意版本的差异比较
可以使用tortoiseGit工具选中文件、右键查看日志信息。 在日志信息中选中想要比较的版本和工作区的之间的差异。
版本回退
有时候用Git的时候,有可能commit提交代码后,发现这一次commit的内容是有错误的,那么有两种处理方法:
1、修改错误内容,再次commit一次
2、使用git reset 命令撤销这一次错误的commit
第一种方法比较直接,但会多次一次commit记录。
第二种方法会显得干净清爽,因为错误的commit没必要保留下来。但是使用的时候等慎重,对于新手而言。
shell git reset 命令用于回退版本,可以指定退回某一次提交的版本,有3种模式可供选择
小结
如果重置回到某个版本时,关闭了tortoiseGit日志窗口,这个版本之后的版本全部会被删除,无法再次回到之后的版本
重置git reset,只能倒退回退,如果有前进的需求怎么办? 导出需要重置到的版本,重新提交版本,将原来的一个老版本变成最新版本
Git基本操作--删除
文件删除
删除版本
> 将工作区的已经提交的文件删除之后,做提交动作,可以通过日志还原。
删除管理
> 也就是所谓的摆脱Git的控制
添加整个项目
复制工程到本地库
添加到暂存区
忽略不需要做控制的目录
提交到本地库
Git远程仓库--GitHub创建公共仓库
- 如果访问不了,添加DNS解析
#GitHub
140.82.114.4 github.com
199.232.69.194 github.global.ssl.fastly.net
创建公共仓库
本地与GitHub的SSH连接
> 实现本地仓库与GitHub公共仓库的连接
即使是public的公共仓库,也只是所有人可读,但不是所有人可写 哪些人可写呢?
需要配置SSH认证 - 需要将本地机器的公钥填写在GitHub中,只有填写公钥的机器才能推送
本地秘钥生成
step1:在自己Windows本地生成一对公私钥
ssh-keygen -t rsa
step2:找到自己的公钥的位置:当前用户的家目录下:C:\user\用户名 \ .ssh
step3:打开公钥的文件,并复制公钥的内容
配置GitHub
将整个公钥的所有内容配置到SSH的key中,添加保存即可
同步到远程仓库
方式一:命令同步
#添加一个远程仓库的地址叫origin git remote add origin [email protected]:Frank-itcast/repository1.git 练习中替换成自己的仓库地址 #git remote add origin [email protected]:AllenWoon/xls_1.git #将本地master同步到远程的origin git push -u origin master git push -f origin master # 强制推送
方式二:工具同步:SSH
方式三:工具同步:HTTPS
从远程仓库克隆
方式一:命令
git clone [email protected]:Frank-itcast/reps1.git git clone [email protected]:AllenWoon/xls_2.git
方式二:工具
冲突问题
step1:用户1本地是版本3,Github也是版本3
step2:用户2克隆了Github中版本3,用户2的本地是版本3
step3:用户1本地是版本4,GitHub也是版本4
step4:用户2基于版本3开发了用户2的版本4推动给GitHub 产生了冲突,如何解决?
解决
- step1:先拉取远程仓库中的当前的这个版本
- step2:与自己的版本做比较
- step3:调整好确认的版本以后,再次提交
分支的功能与分支管理
一个项目中可以有多个分支,每个分支独立管理各自的版本,默认只有一个分支:master
创建分支
切换分支
- 注意:测试vip分支与master 分支
- 在vip分支中修改的这个版本,在master中是否能看到对应的修改?
- 看不到
- **==所有的分支是独立的==**
- 在Master管理的文件或者版本,在vip中是否能看到?
- 看不到
删除分支
- 当前正在使用分支不允许删除
- 删除其他的分支
分支合并
标签:git,版本,提交,及数,Git,本地,Interview,添加 From: https://www.cnblogs.com/liam-sliversucks/p/17464416.html