Git的四个工作区域

Git本地有四个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory)。文件在这四个区域之间的转换关系如下:

Workspace: 工作区,就是你平时存放项目代码的地方

Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

下载安装,傻瓜式一直点这里不赘述。右键有git bash进行操作。

如果觉得原生的git不好用,可以了解一下sourcetree,是一个git的可视化界面。

1. 初始化

Git Bash是一个命令行工具,使用的命令与Linux命令类似

//1、设置用户名和邮箱

git config --global user.name '在gitlab上注册的用户名'

git config --global user.email '在gitlab上注册的邮箱'

//2、查看设置的用户名与邮箱

git config --global user.name

git config --global user.email

//3、生成gitlab上配置的ssh公钥:
ssh-keygen -t rsa -C '在gitlab上注册的邮箱'

注意⚠️:输入命令后,三个连续的回车,表示默认存储位置、密码为空、确认密码

4、进入默认存储位置(C/User/yxj/.ssh目录)下,用记事本打开id_rsa.pub文件,并全选复制里面的内容

5、进入gitlab,点击头像-settings-SSH Key,将复制的内容粘贴进去,title可以任意

SSH Key配置完成后,如下图

2. 拉取远程项目代码

通过git clone+地址下载远程项目(ssh/http),然后在本地切换分支并关联master。

git status //查看当前分支

$ git status
//查看当前分支
$ git branch -a 
//查看所在目录的所有分支
$ git checkout -b dev origin/dev
//切换分支

3.提交代码

写完代码以后提交:

①git pull ,拉取仓库最新代码

②git status,查看本地修改的代码

③git commit xxx文件,提交上面修改的代码里需要进行提交的(多个的话用空格分开)

④写注释,vi编辑器,i进入输入模式,esc进行命令行模式,“:wq!”  进行保存

⑤git push 提交代码

4.直接上传本地项目

  • 如果gielab的仓库上并没有本地项目,想要上传上去:

git init
  • 这时候发现项目所在目录下创建了一个.git文件夹

  • 继续输入命令git add .表示将当前目录下所有文件纳入git版本控制,如果当前目录有多个文件,可以将.换成文件名指定文件

本地项目如何上传到gitlab

  • 执行命令提交:git commit -m "注释语句",提交到本地仓库

本地项目如何上传到gitlab

  • 登录自己的gitlab账号,创建好仓库,然后进入到如下页面,点击clone,然后弹出的框中,复制下http路径

  • 然后先执行命令

git pull https://gitlab.com/xxxx/xxx.git master --allow-unrelated-histories

注意--后面表示允许不相干的两个仓库合并,因为我们之前两个仓库是完全独立的,所以直接是没办法pull下来,需要加上后面参数才行

本地项目如何上传到gitlab

  • 执行如下命令将本地仓库和远程仓库关联,再push上去,push的时候会提示输入账号名和密码,输入即可成功

git remote add origin https://gitee.com/xxx/xxx.git

git push -u origin master

  • 如果如下图,像我一样提示未认证,表明是账户名密码有问题,输入下面一行,重新设置账户名密码即可(gitlab上用户名是指邮箱,不是那个姓名)
git config --system --unset credential.helper

Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐