Git笔记
1.创建本地仓库(版本库)的三种方式
1.1GIT GUI
鼠标右键,选择GIT GUI Here,
.在弹出窗口选择Create New Repository–>点击Browse–>Create—>关闭弹窗
文件夹下出现.git文件即创建成功(需要设置显示隐藏文件才可看到)
1.2GIT Bash(命令行)
鼠标右键,选择Git Bash Here,
在弹出的命令行窗口输入:git init–>关掉窗口
文件夹下出现.git文件即创建成功(需要设置显示隐藏文件才可看到)
1.3使用TortoisegitGit(小乌龟)
这里的小乌龟是汉化过的(汉化方法,到TortoisegitGit官网下载中文包即可)
鼠标右键,选择Git 在这里创建版本库,
弹窗中不要勾选“制作纯版本库”,直接选择确定。
弹窗提示创建成功,关闭弹窗即可。
文件夹下出现.git文件即创建成功(需要设置显示隐藏文件才可看到)
2.向“本地仓库”提交代码
这里提交代码,是向本地仓库提交,
2.1需要两步:
- 添加文件到暂存区,
- 提交文件到本地仓库
2.2如何添加:
- 创建文件,文件出现蓝色问号
- 鼠标选择文件夹,右击,选择TortoisegitGit,选择添加,成功后文件出现蓝色加号(此时将文件添加到本地仓库暂存区)
- 鼠标选择文件夹,右击,选择“git提交->master (master是一个分支),填写日志,提交。
- 提交成功,文件出现绿色加号
3.查看版本库(仓库)
在有.git文件的文件夹中,单击鼠标右键,选择如下。
4.提交修改过的代码
- 修改文件,文件出现红色感叹号
- 选中修改的文件,右键选择git提交->master,写好日志,点提交
5.查看文件日志及修改内容
- 选中文件,右键选择TortoiseGit—>显示日志
- 查看两次提交文件的差别
6.删除文件
删除分为三种情况,
-
删除工作目录文件,本地版本库中还存在(删除后可以还原回来)
右键文件删除就完事儿了
还原的话,空白处右键,选择TortoiesGit,在选择还原,弹窗中选中文件,确定即可
-
删除工作目录文件,并且从本地版本库中删除(删除后不能还原)
删除本地文件嗷,直接win系统像平时删除文件一样,然后在空白处右击,选择git提交->master。(日志也要写上嗷)
-
删除并保留本地副本,即从本地版本库中删除,本地工作目录文件还存在(用于像一些不需要提交到版本库,但是本地工作目录还是需要的文件)
选文件右键,选择TotoiesGit,在选择删除并保留本地副本。
7.将一个工程传到本地仓库
我传的是java工程
-
首先复制工程文件夹到工作目录下(就是有.git的文件夹)
-
忽略一些不需要提交的文件
选择递归忽略,设置忽略文件保存位置,如下图
-
添加到暂存区,再提交,去看咋提交吧,在大标题2处
8.github上创建远程仓库
如果是一个人在本地开发,创建本地仓库就足够使用,但是多人协作,还是要整个远程仓库的。
如何在github上创建远程仓库呢?接着看吧。
- 登录github,创建仓库,
9.推送本地仓库到远程仓库
在github上建好了远程仓库,如何把本地仓库推送到远程仓库呢?接着看就完事儿了- 3 -,臭弟弟妹妹萌
先介绍一下哈,github支持两种通信协议,一种https,另一种ssh
ssh比较复杂,先讲这种如何搞
git remote add origin https://github.com/itfredmoon/res1.git
git push -u origin master
9.1基于SSH协议推送
-
打开Git Bash命令行窗口,输入下面命令生成秘钥
ssh-keygen -t rsa 按三下回车就完事儿了
默认生成的秘钥在用户目录下
-
到github配置秘钥,
复制生成的公钥(就是这个id_rsa.pub),粘贴到下边。
-
本地仓库和远程仓库建立连接,并推送代码
有两种方式
方式一:命令行方式
输入下边命令,简历连接
$ git remote add origin git@github.com:itfredmoon/res1.git
上面命令后面跟的地址是ssh协议的地址
推送:git push -u origin master
方式二:小乌龟客户端来整
空白处右击,选择Git同步
选择ssh客户端,如下图
配置远端,建立连接,(秘钥选择id_rsa文件,如果浏览窗口没有显示,则文件类型选全部则可以显示)
点击确认,推送:
9.2基于HTTPS协议推送
用https推送,不需要使用秘钥,输入用户名密码认证就好
-
空白处鼠标右击,选择Gti同步,
-
新建一个远端,建立连接
提示非官方啥的,点确定就好,因为新的远端名称是origin1,如果不是origin就会提示你,点确认就好。
-
推送
选择origin1这个远端,并推送
点击后,让你输入账号密码,输入即可
10.克隆远程仓库到本地
无论是SSH或者HTTPS协议克隆,都可以,
###10.1命令行方式:
打开Git Bash输入命令:
$ git clone https://github.com/itfredmoon/reps2.git
后边地址也可以是SSH地址。
10.2小乌龟方式
空白处右键,选Git克隆
11.推送修改的内容,及解决冲突
###11.1推送代码到远程仓库
之前的提交代码,是提交本地仓库,这点不同于SVN,提交就是直接提交到SVN仓库。
而Git提交到远程仓库,准确的说是推送过去,而不是提交。
那么如何推送呢?
首先还是要把修改或者新建的文件,提交到本地仓库,然后再进行推送。
推送步骤如下:
使用小乌龟来推送,
- 空白处鼠标右击,选择Git同步,在弹窗选择远端,并推送
###11.2拉取远程仓库代码到本地
此时别人想要更新本地仓库,获取你推送到远程仓库的代码,需要拉取远程仓库代码到本地
如何拉取:
鼠标右击,选择Git同步,选择远端,点击拉取。
11.3解决冲突
为了避免冲突,最好养成及时更新本地仓库代码的习惯。
推送代码,出现冲突弹窗如下:
接着你要拉取代码,
拉取之后提示出现冲突
解决冲突(只能手动解决指的是手动编辑冲突文件,)
解决完毕之后,选择文件,右击选择GitTotories,选择解决冲突
最后在推送没有冲突的代码到远程仓库中。
个人理解:不知对否,也做了片面的验证。
在你提交到本地仓库的时候不会提示有冲突,当你推送到远程仓库才会提示,毕竟你本地仓库仅仅是自己的仓库,修改文件并不会出现冲突。只有提交到远程仓库,这个公有的仓库时,才会对比本地和远程的文件,是否有冲突。
总结下来,如果出现冲突,解决方法:就是第一步拉取,第二步手动解决,最后推送上去就完事儿了。