版本管理软件分类
-
集中式,典型代表 SVN
-
分布式,典型代表 Git
安装
- 安装git,一直 下一步 安装即可,如果不想安装到C盘,可以把C换成D
- 不要安装到含有中文的路径中。
- 安装完毕,不可以剪切(移动)到其他文件夹。
- 不要重命名路径中的任何一个文件夹。
- 安装完毕,鼠标在任何文件夹空白位置右键,如果出现
Git Bash Here
,则表示安装成功。(或者点击“Git Bash Here” --> 输入 git --version 回车,如果看到版本号,则表示安装成功) - Mac用户,使用自带的终端。输入“git --version”,回车,如果看到版本号,则表示安装成功(Mac用户需要额外配置一下:访达 -> 服务 -> 服务偏好设置 -> 勾选“新建位于文件夹位置的终端窗口” )
配置:
1.配置用户名和邮箱:
打开终端,依次执行下面两个命令
git config --global user.name "你自己用户名"
git config --global user.email "你自己的邮箱"
配置之后,可以通过下面的命令来检查是否配置成功了
# 查看所有的全局配置项
git config --list --global
# 查看单个的配置项,比如查看用户名
git config user.name
2.配置ssh秘钥对:
2.1 执行命令创建秘钥对 ,按4次或更多回车,执行完毕,这样秘钥对就创建好了
ssh-keygen -t rsa -C "你的邮箱"
2.2 找到公钥
windows:C:/用户/你的用户名/.ssh/id_rsa.pub
mac: 你的用户名这个文件夹,按 Command + Shift + . ,显示隐藏文件,就会看到 .ssh 文件夹
2.3 把公钥打开,复制里面全部的内容。
到gitee.com网站,右上角头像 --> 设置 --> SSH公钥(左侧边栏)--> 添加公钥
2.4 执行 ssh -T git@gitee.com 回车执行命令,检测ssh的配置情况
你可能会看到一个提示:Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入 yes 回车
2.5 配置一次,只要电脑不换,不重置系统,可以用一辈子
使用
-
在项目文件夹里面的空白处,右键 --> Git Bash Here,打开黑窗口。
-
在黑窗口中,输入
git init
然后按回车,表示执行这条命令。 -
这一步是Git初始化。初始化之后,表示Git软件可以管理这个项目了
-
对于一个项目来说,初始化工作只需要做一次。
-
-
写代码测试
-
随便写点代码
-
执行命令
git add .
-
执行命令
git commit -m '提交说明'
-
执行完这两个命令,表示使用Git把当前代码及文件的改动记录起来了
-
-
查看提交日志
-
git log
-
git log --oneline
-
git log --reflog 或者 git log --oneline --reflog 穿梭到历史版本之后,查看所有的版本
-
-
在历史版本中穿梭,回退到历史版本
-
git reset --hard 版本号
-
-
在历史版本中提交代码
-
git push --force或者git push -f
-
除非只有自己一个人用,不然用 push --force 的都该去死
-
此命令表示将目前自己本机的代码库推送到远端,并覆盖
-
- 分支相关命令
# 查看所有本地分支
git branch
# 创建新分支
git branch 分支名
# 比如,创建一个叫做login的分支
git branch login
# 切换分支
git checkout 分支名
# 比如,切换到login分支
git checkout login
# 比如,切换到master分支
git checkout master
# 删除分支(删除时,必须先切换到其他分支)
git branch -d 分支名
git branch -D 分支名 强制删除分支
# 创建并直接切换分支
git checkout -b 分支名
-
合并
-
如果需要把 home 分支的代码合并到 dev 分支,先切换到 dev,git checkout dev,然后 git merge home ,即可把 home 分支的代码合并到 dev 分支。
-
情况一:
表示已经合并完成了,但是需要提交一次; 出现的框是让我们输入提交说明;
需要执行下面的操作:
-
直接按
:q
,退出也可以。 -
如果需要修改提交说明,按下面的步骤操作
-
按
i
,进入 “插入” 模式,就可以对画面中的文字进行修改了(直接输入也行) -
按 “上下左右” 键,调整光标的位置,可以删除里面的内容,写自己的提交说明
-
上述画面中的
# Please enter.....
表示注释,可以不用理会 -
按
Esc
键,退出 “插入” 模式 -
直接输入 “
:wq
”,退出这个画面,从而完成合并。(一定是英文的冒号)
-
情况二:
表示正在合并中,但是遇到冲突了;需要在代码中解决掉冲突,然后保存代码;最后,需要提交一次;
具体做法:
-
打开有冲突的文件
-
去掉分割线,保存代码,表示解决了冲突
-
保存代码,执行
git add .
和git commit -m '提交说明'
从而完成这个合并。
推送代码到远程
-
首次推送代码到远程仓库(
git push -u origin master
) -
再次及后续推送
-
工作区编写代码
-
执行 add 命令,将代码添加到暂存区
-
执行 commit 命令,将代码提交到本地仓库。(因为只有本地仓库的代码才能推送到远程)
-
执行
git push
命令,将这次改动推送到远程仓库。
-
.gitignore 配置文件
以 # 开头是注释
以 / 结尾是目录
以 / 开头是防止递归
以 ! 开头表示取反
可以使用 glob 模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)