ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

git下载,上传代码到GitLab ; Untracked files (use “git add <file>...“ to include in what will be committed)

git下载,上传代码到GitLab ; Untracked files (use “git add <file>...“ to include in what will be committed) 环境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 //删除本地分支——aaagit branch -r -D origin/aaa //删除本地远程分支——aaagit 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时都会报错。让有权限的人合并我这里的合并已经不需要了使用这个命令放弃之前的合并。
返回列表