简体   繁体   中英

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

I am running beaglebone black on ubuntu installed on sd card. 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? 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?

--EDIT--

What is list of non-volatile and important(unlike /tmp ) directories in / ?

除了使用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. I can mount the sd card on any Linux machine and checkout branches.

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. 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. It gave 2 mount points for each partition /media/rootfs/ and /media/boot/ . 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.

$ 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/ . 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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