Git Gudie Tour

Build SSH 

git config --global user.name "用户名"

git config --global user.email "用户邮箱"

生成ssh Key

ssh-keygen -t rsa -C "用户邮箱"

在/user/.ssh中,记事本打开id_rsa copy内容添加到以下并保存

检查全局情况 

git config -l


情况一:项目在本地从零开发,未commit或者pull过任何Git版本,需要将自己本地的项目上传到GitLab新建的项目中

注意不选初始化创建README.md

建立本地Git仓库

1. 初始化本地仓库。在本地项目根目录中打开Git命令行:

git init

2. 将本地项目的所有文件添加到暂存区。

git add .

3. 将暂存区的文件提交到本地仓库,并添加说明信息:

    ```git commit -m "说明信息"```

本地项目提交到本地仓库完成

### 将本地仓库代码推送到GitLab远端仓库

1. 首先建立本地仓库和远端GitLab仓库的关联关系:

    ```git remote rm origin```

    ```git remote add origin https://gitlab*************.git```

2. 检查关联是否已建立且争取:

    ```git remote -v```

3. 将代码由本地仓库上传到GitLab远端仓库,依次执行下列语句。获取远程库与本地同步合并:

    ```git pull --rebase origin main```

    | 如果远程库不为空必须做这一步,否则后面的提交会失败,不加这句可能报错,原因是 GitLab中的 README.md 文件不在本地仓库,可以通过该命令进行代码合并。

4.  把当前分支 main 推送到远程:

    ```git push origin main```


 

## 报错分析

### 一、fatal: refusing to merge unrelated histories

说明本地和远端的git库是两个 根本不相干的 git 库,然后本地要去推送到远端,远端觉得这个本地库跟自己不相干,所以告知无法合并。解决方法,强制合并:

```git pull origin master --allow-unrelated-histories```

### 二、 [rejected]        master -> master (non-fast-forward)

查看当前在哪一个分支 ```git branch```

切换到main这个分支  ```git checkout main```

```git fetch origin```

```git merge --allow-unrelated-histories origin/main```



 

### 三、warning: LF will be replaced by CRLF”

    

https://blog.csdn.net/u012757419/article/details/105614028

提交时转换为LF,检出时转换为CRLF ```git config --global core.autocrlf true```

### 四、error: src refspec main does not match any

检查当前branch是否在main

### 五、hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpart. Check out this branch and integrate the remote changes

```git pull --rebase origin main```



 

情况二:子目录中有Git项目时如何管理 submodule

git commit -m "说明信息"

如果Git项目下有子项目也是Git下来的,往往不能正确提交。

情况三:融合子项目

    

删除子项目中.git/文件夹 

rm -rf xxx/.git/

删除之前提交子项目的cache 

git rm -rf --cached xxx/

重新添加子项目文件夹 

git add xxx



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值