简体   繁体   English

在linux根目录上初始化git仓库的效果3:)

[英]effects of initializing git repository on linux root directory 3:)

I am running beaglebone black on ubuntu installed on sd card.我在安装在 SD 卡上的 ubuntu 上运行 beaglebone black。 i am learning to program the device in trial and error method by installing various packages (just like CERN guys study sub atomic particles by hitting them together in various angles and studying their trajectories).我正在学习通过安装各种软件包以试错法对设备进行编程(就像欧洲核子研究中心的人通过从不同角度将它们撞击在一起并研究它们的轨迹来研究亚原子粒子一样)。 So can i initialize a git repository at root directory and ignore volatile directories like /sys and /proc?那么我可以在根目录初始化一个 git 存储库并忽略像 /sys 和 /proc 这样的易失性目录吗? Or watching what system directories is sufficient to successfully time track entire OS?或者观察哪些系统目录足以成功跟踪整个操作系统? Are there any similar snapshoting tools?有没有类似的快照工具? Other than git, what repository system is best to time track binary files?除了 git 之外,哪个存储库系统最适合对二进制文件进行时间跟踪?

--EDIT-- - 编辑 -

What is list of non-volatile and important(unlike /tmp ) directories in / ?什么是非易失性的和重要的(不像列表/tmp中)目录/

除了使用git您还可以使用支持快照的文件系统,例如ZFSBTRFS,它会更高效,并且它的使用对您来说是透明的。

Anyway, i dare initiated git repo on / 'coz its just an ARM ubuntu on beaglebone black installed on 8GB sd card and we get ARM ubuntu as sector to sector SD card image, so we can't go for ZFS or BTRFS.无论如何,我敢在/ '因为它只是一个安装在 8GB sd 卡上的 beaglebone black 上的 ARM ubuntu 启动 git repo,我们将 ARM ubuntu 作为扇区到扇区的 SD 卡映像,所以我们不能选择 ZFS 或 BTRFS。 I can mount the sd card on any Linux machine and checkout branches.我可以在任何 Linux 机器和结帐分支上安装 SD 卡。

cd /
sudo git init
sudo vi .gitignore
/dev/
/lost+found/
/media/
/mnt/
/opt/
/proc/
/run/
/srv/
/sys/
/tmp/
/var/log/

sudo git add -A
sudo du -sh .git
297M    .git
git config --global user.name 'Your Name'
git config --global user.email you@somedomain.com
sudo git commit -m "initial update and network configured"
sudo du -sh .git
308M    .git

Please suggest folders or files i can ignore.请建议我可以忽略的文件夹或文件。 I shall keep updating this answer with ignore list and problems i face.我将继续使用忽略列表和我面临的问题更新此答案。


18 July 2013 21:59:00 IST My first checkout left me with bitter experience. 2013 年 7 月 18 日 21:59:00 IST我的第一次结帐给我留下了痛苦的经历。 When i tried to checkout a previous commit it threw some lock failures.当我尝试检出之前的提交时,它抛出了一些锁定失败。 Made a mistake of not noting down output.犯了一个错误,没有记下输出。

Then I removed SD card from beaglebone and mounted on my Ubuntu desktop.然后我从 beaglebone 中取出 SD 卡并安装在我的 Ubuntu 桌面上。 It gave 2 mount points for each partition /media/rootfs/ and /media/boot/ .它为每个分区/media/rootfs//media/boot/提供了 2 个挂载点。 I remounted /media/boot/ on /media/rootfs/boot/uboot , so now the file-system exactly resembled to that live file-system booted up on BeagleBone.我在/media/rootfs/boot/uboot上重新安装了/media/boot/ ,所以现在文件系统与在 BeagleBone 上启动的实时文件系统完全相似。

$ sudo cd /media/rootfs
$ sudo git log
commit 8bf5b7031bc1aee6392272da4eae2b808b46912f
Author: gowtham <gowtham@beaglebone>
Date:   Thu Jul 18 12:04:05 2013 +0000

    remotedevicecontroller with camcapture-compression option

commit 774765de36a0c3cc7280a29275c37928de982f6e
Author: gowtham <gowtham@beaglebone>
Date:   Thu Jul 18 06:19:48 2013 +0000

    before installing remotedevicecontroller with camcapture-compression

commit 19d5f3f66f29cbe925b8743c7248770d1f1d6ba4
Author: gowtham <gowtham@beaglebone>
Date:   Wed Jul 17 13:34:33 2013 +0000

    ffmpeg installed by remotedevicecontroller

commit 691c20afd7b166103dabc2561c72eb94c172e726
Author: gowtham <gowtham@beaglebone>
Date:   Wed Jul 17 14:44:17 2013 +0000

    initial update and network configured
$ sudo git stash
[sudo] password for gowtham: 
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
You do not have the initial commit yet

But .git/ is present in /media/rootfs/ .但是.git/存在于/media/rootfs/ comment below, the mistakes I've done.在下面评论,我犯过的错误。

another way to do in the / folder is a whitelist approach:在 / 文件夹中执行的另一种方法是白名单方法:

echo '*' > .gitignore  #ignore everything in root
git add -f .gitignore
git add -f /folders_you_wish_to_include   #using -f to add the folders you want to track

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM