本文共 4145 字,大约阅读时间需要 13 分钟。
修改安装路径后,一路next即可
先下载语言包和TortoiseGit的安装包
在这里插入图片描述
安装TortoiseGit的安装包
一路 Next 即可,配置均选择默认
安装 语言包
配置汉化
语言包和安装包都安装后。在桌面右键,选择Settings
General > language
选择你要作为git工程存放的目录,右键,选择 git bash here
git是一个分布式管理工具,需要用户名和邮箱,作为一个标志
git config --global user.name "wzc"git config --global user.email "zichao412@163.com"
注意:邮箱的是集合周,和你在github上的邮箱要一致
选择你要作为git工程存放的目录
初始化版本库
git init# Initialized empty Git repository in [你的版本库路径]
有了版本库后,它会显示你当前的分支状态
git status
git add [文件名/目录名]
作用:
使用git add后,可以使用将status查看状态
小技巧:可以添加整个目录到暂存区,就不用单个文件的添加了
git commit
git add
只是把文件提交到暂存区 (相当于本地缓存),并没有把文件真正的提交
使用 git commit
能将文件提交到版本库中(相当于提交到了本地Git仓库中)
git commit
是将暂存区的所有文件,提交到了版本库中
git commit
后,会进入一个 vim编辑器的界面。(和Linux上的操作一样)
在这个编辑界面中,编写你对此次提交的信息
编辑好后,ECS
,:wq
即可
提交成功:
你也可以,一步到位
git commit -m "提交信息"
当我们对上传到版本库(本地git仓库) 中的文件做出了修改,那该如何做到更新呢?和之前的流程一样
git status
,先查看哪些文件被改变
git commit
,将修改后的文件重新添加到暂存区
git commit -m
,将暂存区中更新的文件提交到本地的git仓库
git log
我们可以查看详细的版本提交信息(提交历史记录)
git log --pretty=oneline
这个语句,也是查看历史记录。但是嫩给你一个简化版本的记录:
创建一个 test/2.txt文件,并且输入内容:“I LOVE CHINA”
然后上传到本地版本库
cd test/# 创建文件夹,并且编辑内容vim 2.txt# 添加到暂存区git add 2.txt# 提交到版本库git commit -m "添加一个txt文件 --03"
查看历史记录,发现添加成功
修改该文件的内容,并且提交到版本库 ( 随便修改文件内容 )
vim 2.txt# 提交到版本库git add 2.txtgit commit -m "修改2.txt文件 --04"
查看历史记录,修改成功:
后来发现修改错误,想要回到修改前的版本!!!
回到上一次的提交
git reset --hard HEAD^1
HEAD
:
git reset
:用来修改 HEAD的位置
参数:
--hard
:【硬】,版本回退后,该版本立即变为最新版本!!! 不可复原--soft
:【软】,回退版本,但是会保存改动的记录(会自动帮你git add )--mix
:【折中】回退版本,并且保留所有改动记录。(不会自动 git add )理解图:
# 回退到2个版本git reset --hard HEAD^1
查看历史版本号!!
git reflog
删除上一个版本:
git reset --hard HEAD^1# 使用序列号回复git reset --hard 7664f01
git checkout + [/文件名]
git checkout
对版本库中的文件进行标记
无论你在 怎么修改,再使用 git checkout
命令,将回到被标记的状态
本地删除文件后,并不代表是真正删除文件
# 我们要将删除文件的记录提交到版本库中git add test/git commit -m "删除了文件3.txt"
这样就完成了删除
(但是还是可以通过:git reset --hard
,命令还原)
.git
隐藏文件的地方z.git
目录下的 index文件
.git
,它就是git的本地仓库场景:项目上线运行,但是又有了新的需求,并且项目还要一致上线运行。平时还要修改一些bug,如何管理呢?
分支和分支之间互补影响!!!
git branch -v
git branch + [分支名
创建分支,是从主分支中复制的一条分支,内容一模一样
但是分支修改和主分支是独立的,互不干扰
git checkout + [分支名]
git checkout mastergit merge + [分支名]
git checkout master
切换到主分支当两个分支中,相同文件,出现内容不一样时。在合并时,会出现冲突。
什么是冲突?
指同一个文件,同一个位置的代码,再两个版本的仓库合并时,版本软件无法判断应该保留哪一个版本。因此会提示该文件发生冲突,冲突一般都需要程序员手动解决
分之合并时,解决冲突
先在master分支上,创建一个 **conflict.txt **文件
再在 bugTest分支上创建一个 conflict.txt 文件
然后分别提交(两文件的内容不同)
最后合并(100%有冲突)
解决冲突【重点】
产看当前发生的冲突
git diff
解决冲突:
查看冲突文件
vim onflict.txt
手动决定你要保留的部分
解决冲突后,执行add、commit到版本库就行了
将本地仓库的代码,推送到 git远程仓库中
绑定远程推送地址:
git remote add [远端代号] [url]
推送代码:
git push [远端代号] [分支名]# 比如,推送到主分支git push origin master
从Github上克隆
git clone [url] [目录名]
修改文件后:
git push origin master
注意!! 你直接推送到源项目上,需要该项目的拥有者开放权限!!不然你克隆的项目是无法推送你的修改
每次开始写项目之前,都要和远程仓库进行代码同步更新
# origin可以自定义,但是我们一般用origingit pull origin [分支名]
两个账户都向 github上提交代码,相同文件,内容修改不同。在提交时,会产生冲突。需要手动解决
解决方式:
产生冲突后
修改合并冲突文件:
先和远程仓库(github上的仓库) 同步(会报错 ! ! !)
git pull origin master
报错之后,vim 去修改冲突的这个文件
git add
git commit
在上一节,我们讲了协作冲突,是多个人在一个github仓库中进行协同合作,完成项目。在真实的开发中,还可能遇到另外一种情况:
使用第三方协作开发来完成项目。就是指:我并不使用你的github仓库,我直接 fork你的仓库,然后从我fork的仓库中拉取代码,修改后提交到我怕fork的仓库。然后在我fork的仓库中,pull Requests
到你的仓库即可。
你收到推送请求,审核代码后,Merge pull request
即可整合。
概述:
待续…
configure – >settings
将Git 整合到 IDEA
配置github账号
配置成功后。apply即可
转载地址:http://nhuen.baihongyu.com/