文章目录
一、前提条件,安装Git工具
确保您的计算机上已经安装了 Git。如果未安装,请先下载并安装 Git。
二、GitLab获取访问令牌token
1、配置ssh免密登录
使用管理员打开命令行输入:ssh-keygen -t rsa -C xxx@aaa.com(你的邮箱)
到用户目录下.ssh查看id_rsa.pub文件
打开复制里面的内容
添加到GitLab中
点击保存。
2、获取 GitLab 个人令牌
创建后,可以查看和复制生成的token:
注意:令牌内容要保管好,下次就看不到了
3、添加 GitLab 服务
首先需要在git中配置好
点击GitLab
三、第一次代码准备,从master上创建一个自己的分支
# 检出仓库,下载仓库到本地
git clone git@git.n.xxx.com:xxxx.git
# 创建新分支并立即切换到新分支
git checkout -b xxx
# 创建远程分支(本地分支push到远程):
git push origin xxx
# 切换分支:
git checkout master
# 删除分支:
# -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
git branch -D xxx
# 切换分支:
git checkout xxx
# 删除分支:
git branch -D master
# 拉取最新代码
git pull
# 以后只在自己的分支开发,拉取远程master合并到自己分支上
git merge origin/master
# 推送代码
git push
四、遇到的问题及解决方案
1、git filename too long
出现“filename too long”错误处理
git config --system core.longpaths true
2、git error: The following untracked working tree files would be overwritten by checkout
问题分析:
问题出在 Error 所列出的文件在本地的当前分支下未授权给 git 追踪,但同样命名的文件,也即出现在另一个(远程)分支下的同一文件却正在远程仓库或其它分支被 git 进行追踪,接下来的操作(git merge/checkout …)使得 git 需要呈现的是远程或另一个分支下被追踪的同名文件,但 git 并不知道该如何处理当前状态下这些未被追踪的同名文件,请求你将它们移开或删除,从而在你想要进行的操作之后直接呈现这些文件在目标状态下的版本。
解决方案:
1、如果你想保留这些未追踪文件的变化
将这些提醒撞名的文件添加到 git 的追踪当中,并利用 stash 将这些文件的状态进行存放备份,然后执行你本来想要执行的 git 命令 overwrite 这些文件。实现:
$ 1. 利用 add 将这些文件进行追踪
$ 2. git stash # 利用 stash 暂存这些文件的状态 【注:stash 将暂存当前状态下所有未 push 的改变】
$ 3. 执行你本来想要执行的命令 (git pull/merge/checkout ...)
2、 这些文件已经过时或纯属冗余,别 bb,我就想 overwrite
那很简单,选择一切带有 -f 的操作,谨慎使用简单恐怖的 clean 命令。实现举例:
$ git checkout -f target-branch # override 未追踪但撞名的文件