Linux/Ubuntu下使用git从Github拉取项目文件、提交修改后文件的完整流程演示
正版dongbaba 2024-06-22 10:37:01 阅读 76
前言:这里提交修改仅针对个人Github仓库。只有使用过程,不包含技术细节。本人也是刚学,欢迎大佬们交流指正。
前序知识
git是一种分布式开源版本控制系统,它有本地仓库和远程仓库,远程仓库可以和Github的仓库(Repositories)进行链接。远程仓库可以和Github的仓库(Repositories)链接后,提交代码时,在本地修改完代码后,使用git commit将修改提交到本地仓库中,然后再用git push将本地仓库的修改推送到远程仓库,这里即Github仓库,也就修改了Github里看到的项目内容。拉取Github里修改后的代码到本地仓库时,使用git pull即可。下面详细介绍该过程。
准备工作:安装git
这里直接使用命令行安装:sudo apt install git
使用git --version
查看git是否安装成功
方法一、直接使用git clone拉取已有项目(推荐)
在文件夹下使用git clone 仓库链接拉取代码
以我的Github一个测试项目举例,复制该链接
然后在准备存放该项目的文件夹路径下:
此时,目录下就有了该项目的文件夹,进入后就能看到所有的项目文件
上传本地修改后的代码到Github
现在假设在本地仓库下修改了README.md文件,且新增一个test.cpp文件,此时可以使用
git status
查看本地仓库当前的文件更改情况:
可以看到提示,test.cpp未跟踪,跟踪指的是Git 正在监视和追踪的文件或目录,这意味着 Git 会检测这些文件的更改并记录它们。因此必须添加跟踪才能提交修改。
使用git add 文件名
添加跟踪。如图输入git add test.cpp
后,查看git status,发现test.cpp文件已被暂存并等待commit。
同时,已跟踪但被修改了的文件,也必须git add 暂存更改才能提交。
提交修改到本地仓库
使用命令git commit -m "提交说明"
来提交到本地仓库。“提交说明”就是对此次提交的一个描述,自己写。提示以下类似内容,表示commit成功。
将本地仓库的修改同步到远程仓库
使用git push -u origin <branch-name>
将本地分支的提交推送到名为 origin 的远程存储库上的 分支。这是最常见的用法,其中 是本地分支的名称。
在第一次推送分支时,使用 -u 或 --set-upstream 参数将本地分支与远程分支关联。这将使 Git 自动跟踪远程分支,以便在以后的 git pull 和 git push 中不必指定远程和分支名称。
输入git push指令后会让输入Github用户名以及密码的步骤,这里的密码不能使用Github的登录密码,而是使用一个在Github网站上生成的密钥。
生成步骤为:在自己的Github页面,进入setting—>Developer settings—>Personal access tokens—>Tokens(classic)
Note随便填,通常为“login”。Expiration为有效期,到期后需重新生成Token,Select scopes选择repo,然后点击“Generate token”,得到Token后记得保存下来,在有效期内都有效。
有了token后,该token就是push时的password,成功push提示如下。此时查看Github的项目已经发生了修改。
拉取远程仓库的修改到本地仓库
现在直接在Github网页上修改README.md文件,并把修改拉取到本地仓库。
修改如下:
使用git pull 远程仓库名 远程仓库分支名
,用于从远程存储库拉取更新并合并到当前分支。它相当于运行 git fetch
来获取远程更新,然后运行 git merge
来合并这些更新到当前分支。这里因为git push使用了-u,因此不用再指定远程仓库名、分支名。
此时可见本地README.md文件已被修改。
方法二、本地手动完成仓库初始化、连接远程仓库
git init本地仓库 在保存项目的文件夹下使用git init
创建一个本地仓库,如下图:
创建远程仓库
使用git remote add 远程仓库名 仓库链接
创建一个远程仓库,远程仓库名通常为"origin"。使用git remote 查看远程仓库。
如方法一使用
现在使用方法跟方法一一致了。
拉取仓库:
推送更改:
上一篇: Windows下的TCP UDP网络调试工具-NetAssist以及Linux下的nc网络调试工具_tcp网络调试工具
下一篇: 【Conda】超详细的linux-conda环境安装教程
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。