blob: a35978d8223fa700d37d4eb413e89bf0d3674ca6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
Normally, the content of files in the annex is prevented from being modified.
(Unless your repository is using [[direct_mode]].)
That's a good thing, because it might be the only copy, you wouldn't
want to lose it in a fumblefingered mistake.
# echo oops > my_cool_big_file
bash: my_cool_big_file: Permission denied
In order to modify a file, it should first be unlocked.
# git annex unlock my_cool_big_file
unlock my_cool_big_file (copying...) ok
That replaces the symlink that normally points at its content with a copy
of the content. You can then modify the file like any regular file. Because
it is a regular file.
(If you decide you don't need to modify the file after all, or want to discard
modifications, just use `git annex lock`.)
When you `git commit` it will notice that you are committing an unlocked
file, add its new content to the annex, and a pointer to that content is
what gets committed to git.
# echo "now smaller, but even cooler" > my_cool_big_file
# git commit my_cool_big_file -m "changed an annexed file"
add my_cool_big_file ok
[master 64cda67] changed an annexed file
1 files changed, 1 insertions(+), 1 deletions(-)
For more details on working with unlocked files vs the regular locked
files, see [[tips/unlocked_files]].
|