如何用Git把代码提交至仓库

news/2024/5/17 18:03:01 标签: git, gitee

    我们在使用github或者gitee(码云)的时候,常常会用到git工具。但是git工具应当如何使用呢?下面我将以同步到码云为例,来从头开始介绍说明。

一、初次安装git并配置

1,下载Git:下载

2,进行Git的初次配置:

Git安装完成后,需要配置用户名以及提交邮箱。用户名填写自己gitee上的用户名或者昵称,提交邮箱自行先在gitee上设置好。

然后我们就需要在git里面设置了。打开终端(cmd)或者右键“git bash here” ,输入下面两条命令完成配置:

git config --global user.name "你的昵称"        //设置昵称
git config --global user.email "你的提交邮箱"        //设置提交邮箱

例如:

git config --global user.name "user1"
git config --global user.email "user1@example.com"

这样就设置了昵称为user1,提交邮箱为user1@example.com,自己设置时换为自己的昵称和邮箱。

配置文件在我们的用户文件夹的.gitconfig文件里,用文本文档打开也可以编辑。

二、第一次把我们的本地项目同步到仓库

1,在gitee上新建仓库

新建仓库时建议不要加入.gitignore,README.md和LICENSE,保持仓库为空,方便我们后续同步,否则可能出错。

2,在本地要同步的文件夹里创建.gitignore

用文本文档打开,编辑。 

 .gitignore可以过滤掉我们不想同步的文件,语法如下:

folder/              //同步时不上传名为folder的文件夹(输入文件夹名后面加上一个/表示指定忽略的文件夹)指定文件夹里的所有文件也会一起被忽略
.classpath            //同步时不上传.classpath文件
*.class                //同步时不上传所有的class文件
abc*                    //同步时不上传名字开头为abc的文件(例如abc_pidxxx)
*abc*                    //同步时不上传名称包含abc的文件
ign*/                    //同步时不上传名字开头为ign的文件夹
*ign*/                    //同步时不上传名称包含ign的文件夹
tmp/a.txt               //同步时不上传tmp文件夹里的a.txt(忽略具体的某个文件)

3,以我们写好的代码工程创建本地仓库

打开我们本地工程的文件夹,右键“git bash here”。也可以打开终端(cmd),cd命令进入到你的工程文件夹。

输入以下指令:

git init

这样我们就成功地以这个工程建立了本地仓库,可以看到我们的这个工程文件夹里生成了个隐藏的.git文件夹,这个文件夹就标识了这个工程被建立了本地仓库,且还储存了我们仓库的信息。

然后把所有的文件添加记录到仓库:

git add .

注意add后面有个.

然后对我们仓库的文件进行commit标识,这一点很重要,不做这一步就无法上传代码:

git commit -m "标识内容"
//例如:git commit -m "initial commit"

然后把该仓库链接到我们的远程仓库,即链接到我们创建的的gitee仓库上:

git remote add 仓库别名 仓库地址

仓库别名可以自己随意取,不过后面要记住自己的仓库别名,因为后面同步时也要用到仓库别名,相当于这一步给你的仓库起了个名字,你也要记住这个名字。例如:

git remote add fp https://gitee.com/user/exa.git

后面可以给本地仓库改名:

git remote rename 原名称 新名称

这就给仓库命名为了fp并链接上了我们的远程仓库。远程仓库地址在我们创建的gitee仓库页面可以找到:

空仓库在这里复制地址↑

平时在克隆/下载按钮那里,选择HTTPS,复制地址↑

然后提交代码:

git push 仓库别名 要提交到的分支

别名上面已经设置。分支在我们gitee仓库创建时也可以设置。一般我们用单分支,也就是仓库里只有一个master支。

上传时,例如:

git push fp master

就是把我们所有的代码(工程)上传到远程仓库的master支。fp使我们给仓库起的别名(举个例子),等待其完成即可 。

这样就成功地上传代码到远程仓库了。去远程仓库页面就可以看到我们的代码上去了!

如要创建开源许可证(LICENSE),可在仓库页面上面提示上创建。

三、以后同步这个仓库

后面工程改动后,再同步就很简单了:

git add .
git commit -m "标识内容"
git push 仓库别名 要提交的分支

如果说在git push...这一步出错了,是因为很有可能远程仓库里面加入了本地没有的文件。那么就先执行:

git pull 仓库别名 分支

把远程仓库的信息同步一下

再执行:

git push 仓库别名 要提交的分支

就可以了!

四,使用git克隆自己的仓库下来并进行开发同步

假设我们的本地代码不慎丢失了或者换了电脑,配置好git基本信息后,我们就可以把我们在码云上面的仓库克隆下来继续进行开发,再提交等等。

在项目仓库主页可以复制地址:

 

然后在一个文件夹打开命令行或者git bash,使用命令:

git clone 仓库地址

这时在线仓库就被克隆至这个文件夹了。

因为是从在线仓库克隆下来的仓库,所以里面的git仓库信息都在,远程地址也包含在仓库中,我们克隆下来自己的仓库就可以直接进行开发了,然后在按照第三大部分的add、commit和push命令进行同步即可,不需要像第二大步一样进行仓库初始化了!

进入我们的项目文件夹,打开命令行或者git bash,输入:

git remote -v

可以看到仓库信息都在:

可见在线克隆下来的仓库,只需继续进行开发、提交即可,不需要再进行初始化,因为它已经是git仓库了且包含了远程地址!

只不过克隆下来的仓库别名是origin,可以自己进行修改使用git remote rename命令。 


http://www.niftyadmin.cn/n/1345150.html

相关文章

Python中str()与__str__、repr()与__repr__区别与关系

str()与__str__、repr()与__repr__ 的区别: str()与repr()都是python中的内置函数,是直接用来格式化字符串的函数。 __str__与__repr__ 是在类(对象)中对类(对象)本身进行字符串处理。 str 1 >>>help(str)2 Help on class str in module builti…

第4章 小结

你已经了解了为Android应用程序创建富于直观的UI的基础,并学习了关于View、layout和Android菜单系统。 通过Layout管理器来摆放View成为Activity的屏幕,它们既可以在代码中创建还可以作为资源文件。你学习了如何扩展、组合以及创建新的基于View的控件来提…

asp.net 添加错误日志

在开发程序中,错误日志很有必要。今天就把使用到的添加错误日志,记录下来,方便以后查看 利用的asp.net错误处理机制 Application_Error 贴出代码 1 protected void Application_Error(object sender, EventArgs e)2 {3 …

dism++更新系统找不到指定的文件_Win10系统内置的万能工具,功能强悍,可解决电脑大小故障!收藏...

Windows无法正常工作,一般情况下很多人的做法就是重装系统,但对于电脑小白来说,重装系统就像是一个难题。对此,老毛桃跟大家分享一个Windows系统内置的修复工具,也就是系统文件检查器。如果系统出现了问题,…

自定义右键菜单的简易应用-添加右键显示文件路径的功能

右键菜单是我们常见的东西,给我们带来了许多的便捷。不过这是怎么实现的呢?实际上是通过注册表来实现的。今天我以添加右键显示文件路径的功能为例来讲解。 效果: 首先winr运行,输入regedit打开注册表编辑器,进入HKEY…

Unity3D 批处理场景的工具

//场景的批量处理器public static class OperateScene {public const string SceneDir "Assets/Scene/";public const string SceneNamePrefix "Scene_";public const string SceneNameExt ".unity";public const int SceneCount 16;private…

replaceChild insertBefore appendChild cloneCode的用法

本案例下载:nodeop.html(2.38 KB)replaceChild的用法 摘要 Node replaceChild(Node newChild,Node oldChild) 参数 newChild 新的替换节点 oldChild 要被替换的节点 返回值 被替换的旧节点 ----------------------- cloneNode的用法…

sqlserver不支持从 unknown 到 unknown 的转换。_Jackson,实现Bean和JSON之间的灵活转换(SpringMVC默认的JSON转换器)...

Jackson介绍在springMVC中的具体应用ObjectMapper解析JSON的原理ObjectMapper创建Java对象的多种方式配置ObjectMapper的工作方式ObjectMapper对于Date类型的处理Jackson的树模型JsonNodeJackson注解完全定制类的序列化和反序列化过程Jackson介绍Jackson是Java最受欢迎的JSON类…