登录至GitLab网站,验证用户邮箱信息并找到生成的.ssh文件下的id_rsa.pub文件,将内部密钥复制到GitLab的SSH Keys选项添加认证。输入账户名及邮箱,在本地Git Bash登录GitLab账户,利用ssh -T git@192.168.xx.xx确认登录。
在连接至远程库之前,在网页上打开knowledge-management项目,复制SSH文本框中的代码,完成项目从远程库的克隆。
进入knowledge-management文件夹中,新建test分支。在test分支上添加xxx.txt文件并将此分支上传至远程仓库中。
新建分支conflict,向xxx.txt文件中加入一行语句——“hi”。向暂存区添加文本并提交至工作区。切换至分支test,向xxx.txt文件中添加一行语句——“how are you?”后提交。尝试合并test与conflict分支,出现冲突,查看冲突原因。
手动修改文件,将两句话保存后重新提交文件,查看冲突已解决。
删除conflict分支,切换到master分支,合并test分支后查看该项目的commit记录。(注:退出记录“press return”指的是“Q”按键。)
将master分支提交至远程库,完成最终的修改。
附录:以下文本为本地Git配置文件。
补充两个问题的解决方式,如下。
1.Git保存操作换行符不统一而报错。
Git支持的换行符有三种,分别为CRLF(\r\n)、LF(\n)、CR(\r),一般来说LF格式使用最为广泛,在此笔者也推荐在开发过程中尽量统一格式为LF(Intellij IDEA中File-Line Separators设置)。当Git在保存文件修改操作时报错,在.gitconfig文件中加入如下两行代码即可。
[core]
autocrlf = false
safecrlf = true
2.在添加了SSH Key后,登陆已经不需要输入账号密码。但是在新项目Pull和Push操作时还是会输入账号密码,使用以下方法可以避免重复输入操作。
(1)Git Bash进入Git的根路径,在我的电脑上是——C:\Users\Administrator。
(2)在该路径下输入“touch .git-credentials”创建文件。
(3)继续输入“vim .git-credentials”编辑文件,如果是Github项目直接输入“https://your username:your password@github.com”。但如果是Gitlab项目,笔者建议直接退出文件编辑而选择在Git Bash中输入一遍账号密码(可自动添加到.git-credentials文件中而避免路径写错等问题)。
(4)在Git Bash中输入“git config --global credential.helper store”,成功后在.gitconfig文件中可以看到以下字符。
[credential]
helper = store
(5)执行一次Pull或Push操作,输入一次账号密码后打开.git-credentials文件,是否发现多了一条“http(https)://your username:your password@server name”记录?再次执行Pull或Push操作,已经不需要输入账号密码了。