【git使用】ubuntu下利用git工具提交一个工程

目录

1、设置用户名和邮箱(全局配置)

2、初始化本地仓库

3、.gitignore添加需要忽略的文件

4、添加文件到暂存区

5、提交更改

6、提交远程仓库

7、创建发布分支

8、发布不同版本


如果没有安装git,终端执行以下命令安装;

复制代码
sudo apt install git -y

1、设置用户名和邮箱(全局配置)

终端执行以下命令,设置用户名和邮箱,邮箱名尽量和远程仓库的邮箱名一致:

复制代码
git config --global user.name 'zhangsan'
git config --global user.email 'zhangsan@gmail.com'

设置完成后,终端执行以下命令查看设置是否成功:

复制代码
git config --list

2、初始化本地仓库

在工程目录下,终端执行以下命令,初始化仓库,我这里工程目录为Test:

复制代码
git init

在隐藏文件中可以看到生成了.git和.gitignore。

3、.gitignore添加需要忽略的文件

在工程目录下,终端执行以下命令,打开.gitignore文件:

复制代码
gedit .gitignore 

里面会有一些默认的忽略内容,比如编译生成的文件、临时文件和输出结果。

直接在文件最后面,添加需要忽略的文件、文件夹。

文件夹后要加" / "。文件要加后缀。

例如:

4、添加文件到暂存区

在工程目录下,终端执行以下命令,检查当前状态:

复制代码
git status

红色内容就是还未提交的内容。

终端执行以下命令,添加所有文件(包括子目录):

复制代码
git add .

如果想添加指定内容,可以参考下列命令:

复制代码
git add src/
git add requirements.txt

添加完后,终端执行以下命令,绿色的就表示已经添加暂存区成功了:

复制代码
git status

5、提交更改

在工程目录下,终端执行以下命令,其中"first commit"为提交说明,自己定义:

复制代码
git commit -m "first commit"

白色的就表示提交成功了。

执行以下命令,可以查看提交日志:

复制代码
git log

6、提交远程仓库

通过以下链接,进入github,需要科学上网才能进入:

https://github.com/

登录 GitHub,点击右上角 "+" → "New repository",新建仓库。

填写仓库名 "test",自己定义。选择public公开/private私有,最后点击 "Create repository"创建好了一个名为"test"的仓库。

添加远程仓库地址,地址就是下面的:

复制代码
git remote add origin https://github.com/(地址).git

推送本地仓库到远程:

复制代码
git branch -M main # 将默认的 master 分支重命名为 main
git push -u origin main

username 就是注册的github 账号的名字。

password 并不是账号登陆密码,有几种方式,这里通过Personal access tokens的方式输入密码。

登录你的 GitHub 账户。点击右上角头像 -> Settings

在左侧边栏,点击 Developer settings

点击 Personal access tokens-> Tokens (classic)

点击 Generate new token-> Generate new token (classic)

给 Token 起一个描述性名称,这里取的"github"

选择 Expiration(有效期)。为了安全,建议设置一个有效期(如 30 天、90 天)。你也可以选择 No expiration(不推荐)。

Select scopes部分,​​勾选你需要的权限​ ​。对于基本的推送代码到私有仓库,​​必须勾选 repo ​。根据你的需求,可能还需要勾选其他权限(如 workflow用于操作 Actions)。对于简单推送代码到已有私有仓库,repo通常足够。

滚动到页面底部,点击 Generate token

正确输入username和password,开始上传即可成功。

若要克隆远程仓库到本地,终端执行以下命令即可:

复制代码
git clone https://github.com/(网址).git

关于远程仓库的操作,还有以下命令可以使用:

复制代码
# 查看远程仓库
git remote
 
# 查看远程仓库详细信息
git remote -v
 
# 查看特定远程仓库信息
git remote show origin

# 修改远程仓库地址
git remote set-url origin https://github.com/user/new-repo.git
 
# 删除远程仓库与本地的连接
git remote remove origin

# 拉取远程代码
git pull origin main

7、创建发布分支

在工程目录下,终端执行以下命令,查看当前本地分支:

复制代码
git branch

在工程目录下,终端执行以下命令,创建新的分支:

复制代码
git branch (分支名)

我这里的分支名为"libtorch",名字自己定义即可。然后执行,git branch 查看当前分支。

现在有两个分支了,绿色并且前面有" * "的为当前所在分支。这里需要切换分支到 libtorch。

在工程目录下,终端执行以下命令,切换分支:

复制代码
git checkout (分支名)

切换成功后,执行 git branch ,查看已经切换到libtorch分支了。

对文件进行修改后,准备在新分支开始提交。

在工程目录下,终端执行以下命令,检查当前状态:

复制代码
git status

此时有requirements.txt 文件需要提交。

在工程目录下,终端执行以下命令,添加文件至暂存区:

复制代码
git add requirements.txt

如果有多个文件或文件夹,用以下命令:

复制代码
git add .

添加完后,终端执行以下命令,提交:

复制代码
git commit -m "提交说明"

使用 git status 查看状态。

在工程目录下,终端执行以下命令,提交至远程仓库:

复制代码
git push -u origin (分支名) 

在github 仓库里能看到此时已经有两个分支了,并且requirements.txt 文件只在libtorch分支下,main分支下没有该文件。

分支的使用还有以下命令:

复制代码
# 合并分支(先切换到目标分支)
git checkout main
git merge (分支名)
 
# 删除本地分支
git branch -d (分支名)
 
# 删除远程分支
git push origin --delete (分支名)

8、发布不同版本

在工程目录下,终端执行以下命令,给当前提交的版本打标签:

复制代码
git tag v2.0

复制代码
git tag -a v2.0 -m "版本说明"

终端执行 git log 查看提交记录,此时最新的提交标签已经是v2.0。

终端执行以下命令,为以前提交的版本打标签,哈希值就是那一长串代码:

复制代码
git tag -a v1.0 <commit-hash> -m "版本说明"

终端执行 git log 查看提交记录,此时标签都已经打好。

终端执行以下命令,根据自己需要,推送标签到GitHub。

复制代码
# 推送单个标签
git push origin v1.0

# 推送所有标签
git push origin --tags

# 或指定多个标签
git push origin v1.0 v2.0 v3.0

在github 仓库里能看到有两个版本,并且里面的内容是不一样的。

标签相关的其他命令:

复制代码
# 查看所有标签
git tag

# 查看标签详情
git show v1.0

# 删除本地标签
git tag -d v1.0

# 删除远程标签
git push origin --delete v1.0

也可以在github 仓库里自己定义版本,在GitHub上创建Release,点击"Create a new release"。

选择时将Tag标签版本和Target对应上,Target可以根据分支和最近提交选择。点击"Publish release"即可。

相关推荐
橘颂TA3 小时前
【Linux】 层层递进,抽丝剥茧:调度队列、命令行参数、环境变量
linux·运维·服务器·c/c++
X_szxj3 小时前
Volatility2在kali安装
linux·运维·服务器
像风一样!3 小时前
NFS文件存储
linux·服务器·网络·nfs文件存储
MOYIXIAOWEIWEI3 小时前
rocky 9.5系统安装zabbix监控实现邮件告警
ubuntu·zabbix·rocky
大聪明-PLUS3 小时前
Linux 中的 DNS 工作原理(一):从 getaddrinfo 到 resolv.conf
linux·嵌入式·arm·smarc
郝学胜-神的一滴3 小时前
C++ STL(标准模板库)深度解析:从基础到实践
linux·服务器·开发语言·c++·算法
Linux运维技术栈3 小时前
Ubuntu Certbot版本查询失败?Snap安装后报错终极修复指南(通用版)
ubuntu·ssl
Q16849645154 小时前
红帽Linux复习-Vim
linux·运维·vim
吃鱼吃鱼吃不动了4 小时前
常用的 git 命令
git