git下载,上传代码到GitLab ; Untracked files (use “git add <file>...“ to include in what will be committed)
2026/9/4 19:46:03 网站建设 项目流程
环境:Windows10 git版本:git-2.12.2.2-64-bit.exe

安装git,安装成功文件夹上右键,菜单中会有git GUI here 及git Bash here选项

使用:

1.第一次使用需要使用git clone命令下载远程仓库代码
具体步骤:
1.1 新建空文件夹(存放克隆下来的项目),
1.2 右键,Git Bash here ,出现dos窗口
1.3 git init //初始化
1.4 git clone url //url是你要下载代码的远程仓库地址

项目下载不下来?是因为需要密钥 (公司代码为了安全,第一次下载可能需要密钥,可以自己生成私钥,生成后一直存在,再次克隆就不需要了) git中ssh key 生成步骤: git命令窗口$后输入 : ssh-keygen -t rsa -C '你的企业邮箱地址',三次回车(回车是选择默认私钥生成方式),这时.ssh文件下已经生成 id_rsa文件。文件夹下找到刚生成文件打开,全选,复制。 登陆GitLab,新建密钥,粘贴进去 重复步骤1,代码可以克隆下来

2.提交

项目若已经上线,大多需要新建分支(新建分支可以跟主分支分开,可以有效保护项目代码【你完成自己写的项目提交,如果有bug那只是你的分支上有bug,测试通过后再融合到主分支】)提交代码
准备: 右键项目,选择git Bash here ,出现dos窗口

2.1 git branch cheny //创建本地cheny的分支 2.2 git checkout cheny //切换到cheny分支 2.3 git status //查看代码当前状态,新增或修改的类会显示成红色,表示没有提交 2.4 git init //初始化(第一次上传时需要,以后都不需要。) 2.5 git add . //add后面有点,将修改后的代码添加到本地仓库 2.6 git status //添加后检查一下,这时新增或修改的文件会显示成绿色,说明已添加到本地仓库 2.7 git commit -m"代码改动的原因" //上传到远程仓库并及代码变动原因 2.8 git pull origin cheny //拉远程cheny分支代码。进入vi编辑器输入 :wq 命令保存并退出。若报错,说明代码冲突 2.9 git push origin cheny //提交到远程cheny分支

看到两个100%,说明代码提交成功,可以去GitLab中验证

报错:Untracked files ( Exception )

解决:进到文件夹下级目录提交

需要注意的是:不要直接在clone操作的文件夹管理代码,要进到clone后的项目中右键(天坑,找了几个小时,网上也没有写过)。 比如我新建一个文件夹叫sc,在sc文件夹上使用git命令克隆一个demo项目,demo项目拉下来后会放在sc文件夹下。这时我们修改了代码,在要提交,还在sc文件夹下提交,git无法显示我们修改的内容,还一直报错。网上的内容多是强制操作(合并等),并没有指出问题所在。 问题是必须在demo文件夹上操作(不是sc)。

错误信息如下:

补充

提交代码可能遇到的问题
1.git push 出现 Everything up-to-date

有两个原因 原因一:没有git add . 原因二:没有git commit -m"提交备注"

2.please tell me who you are

说明需要设置使用者的身份 git config user.name "你的名字" git config user.email "分配邮箱名"**

3.fatal: Unable to create ‘XXX/.git/index.lock’: File exists.

当使用git commit 时出现,应该是git的一个权限问题 rm -f .git/index.lock //删除 .git/index.lock解决

4.target 文件夹已经提交过,后续不想提交
如果 target 文件夹之前已经被提交到 Git 仓库中,那么仅仅添加 .gitignore 规则是不够的。需要从 Git 中移除该文件夹的跟踪记录,但保留本地文件。可以使用以下命令:

git rm -r --cached target

注意:如果 target 文件夹确实存在,但它已经被 .gitignore 忽略了,那么 Git 不会跟踪它,因此执行 git rm -r --cached target 时会报 fatal: pathspec ‘target’ did not match any files 的错误。

需要临时移除 .gitignore 文件中关于 target 的规则,然后再次运行以下命令:git rm -r --cached target git rm -r --cached target 成功后,单独提交.gitignore文件,命令:git add .idea/.gitignore,然后 git commit -m'单独提交gitignore文件'

5.配置ssh
相比 HTTPS,使用 SSH 密钥是更通用且安全的方式,设置好后也无需每次输入密码

ssh-keygen -t ed25519 -C "你的邮箱@example.com" //(在提示路径和密码时,一般可以直接回车使用默认设置) cat ~/.ssh/id_ed25519.pub //复制你的公钥 将公钥添加到 GitLab(如下图) //回到 GitLab 网站,进入 "Edit profile" -> "SSH Keys"。将复制的公钥粘贴到 "Key" 文本框中。点击 "Add key" 按钮。 git clone ssh 地址

其他命令:

git checkout . //回滚,放弃本次修改,回滚至上一次提交版本
git branch -a //查看所有分支
git branch aaa //创建分支名为aaa的本地分支
git branch -d aaa //删除本地分支——>aaa
git branch -r -D origin/aaa //删除本地远程分支——>aaa
git push origin --delete aaa //删除git服务器上的aaa分支
git checkout aaa //切换到aaa分支
git merge aaa //合并aaa分支中的代码到当前分支(合并前拉一下aaa分支代码,防止冲突)
git stash //暂存区,修改的代码不想提交,可以先放到暂存区
git stash pop //回滚暂存区存储的代码

git log -x //查看最新的x个版本信息
git reset --hard xxx //(xxx为版本号)回滚到指定版本号

git reset --hard origin/$branch//放弃修改,回归修改前版本(场景:合并分支到master,合并后发现没有权限,这时代码已经修改,push时都会报错。让有权限的人合并,我这里的合并已经不需要了,使用这个命令放弃之前的合并。)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询