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解决
其他命令:

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时都会报错。让有权限的人合并,我这里的合并已经不需要了,使用这个命令放弃之前的合并。)

  • 15
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值