关于码云上文件的git管理与svn管理

本文介绍在Linux环境下使用Git和SVN进行fl2440项目的版本管理流程,包括项目创建、文件提交、版本回退等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以fl2440项目为例

1.在码云上先创建一个fl2440项目

2.将码云上的项目克隆到本地

[wangtao@centos6_master ~]$ git clone git@gitee.com:TAlice/fl2440.git

[wangtao@centos6_master ~]$ ls

fl2440

[wangtao@centos6_master ~]$ cd fl2440

[wangtao@centos6_master fl2440]$ mkdir -p {crosstool,bootloader,linux/{kernel,rootfs},driver,3rdparty,program,images}

[wangtao@centos6_master fl2440]$ ls 

3rdparty  bootloader  crosstool  driver  images   linux  program 

 

3.本地创建文件并提交服务器

A:git管理   (提交分三步①②③)                                // 注意: git不能管理空文件夹,只能管理文件

[wangtao@centos6_master fl2440]$ cd crosstool/

[wangtao@centos6_master crosstool]$ vim build.sh                //编写一个shell脚本,使得crosstool文件夹不为空

....

[wangtao@centos6_master fl2440]$ git add crosstool/        //将文件提交到本地的.git文件夹下    --- 

[wangtao@centos6_master fl2440]$ git commit -m"Add crosstool build shell script"                 --- 

[master d93acd3] Add crosstool build shell script

1 files changed, 12 insertions(+), 0 deletions(-)

create mode 100755 crosstool/build.sh

[wangtao@centos6_master fl2440]$ git push                 //将改好的本地文件(.git文件夹)推送至码云    

Counting objects: 5, done.

Delta compression using up to 8 threads.

Compressing objects: 100% (3/3), done.

Writing objects: 100% (4/4), 571 bytes, done.

Total 4 (delta 1), reused 0 (delta 0)

To git@gitee.com:TAlice/fl2440.git

cce8b3d..d93acd3 master -> master

!!注意:如果git push推送时出现【fatal: The remote end hung up unexpectedly】,这是因为推送的文件过大,我们可以 在.git/config配置文件中(用vim打开)添加:

[http] 

    postBuffer = 524288000                                                   // 修改提交缓存大小为500M,注意postBuffer前为【TAB】键

 

[wangtao@centos6_master fl2440]$ git diff                             //查看当前版本与上一个版本有什么差异

[wangtao@centos6_master fl2440]$ git checkout                 // 文件删除后同步到当前目录下,注意不要忽略有一个点

[wangtao@centos6_master fl2440]$ git pull                             //将码云上的内容同步至本地

git pull只是让本地版本与码云版本同步,如果本地文件被删除了,git pull命令并不能恢复,只能用git checkout .  恢复

 

git rm --cached filename/-r directory //git托管将码云上的文件或文件夹删除的三步操作

git commit "xxxx" 

git push

B:svn管理   (提交分两步①②)

[wangtao@centos6_master fl2440]$ svn add crosstool/                                           ----------------- 

A crosstool

A crosstool/build.sh

[wangtao@centos6_master fl2440]$ svn ci -m"Add crosstool build shell script"      ------------------

Adding crosstool

Adding crosstool/build.sh

Transmitting file data .

Committed revision 2.

[wangtao@centos6_master fl2440]$ svn diff                            //查看当前版本与上一个版本有什么差异

[wangtao@centos6_master fl2440]$ svn up                             //本地文件删除后同步

[wangtao@centos6_master fl2440]$ svn rm bootloader/        //将码云上的bootloader文件夹及其内容删除

[wangtao@centos6_master fl2440]$ svn log                           //查看版本修改提交记录

[wangtao@centos6_master fl2440]$ svn up -r 2                     //同步码云上的第二个版本到本地

svn在每一个本地目录下都有一个.svn的隐藏文件夹

git只在本地顶层目录下有一个.git的隐藏文件夹

 

 

 

问:Linux下如何删除github库中的一个文件
答:分四步
      ①,$ git pull origin master 将远程仓库里面的项目拉下来
      ②,$ git rm -r --cached target  删除target文件夹
      ③,$ git commit -m "删除了target"  提交添加操作说明

      ④,$ git push -u origin master 将本次更改更新到github项目上去
本地项目中的target文件夹不受操作影响,删除的只是远程仓库中的target, 可放心删除

 

问:Linux下如何删除github库中的一个文件的提交记录(版本回退)
答:分三步
      ①,$ git log   获取提交的历史找到需要回滚到的提交点
      ②,$ git reset --hard 94a4c3cbf4c82daae2b1e03fa2aec66f3bf4c6f7  消除这条记录之后的所有提交记录
      ③,$ git push origin HEAD –force        刷新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TAlice

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值