# GitHub repo of Anki cards?

**URL:** <https://forums.ankiweb.net/t/github-repo-of-anki-cards/38918>\
**Category:** Help\
**Created:** [December 28, 2023, 1:10pm UTC](https://forums.ankiweb.net/t/github-repo-of-anki-cards/38918 "2023-12-28T13:10:10Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![chrislg](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/chrislg/32/32411_2.png) [@chrislg](https://forums.ankiweb.net/u/chrislg)\
**Post date:** [December 28, 2023, 1:10pm UTC](https://forums.ankiweb.net/t/github-repo-of-anki-cards/38918/1 "2023-12-28T13:10:10Z")

</div>

I would like to keep a versioning system for changes of my notes and cards. Would git be a good option ?

---

<div class="post-metadata">

**Author:** ![CravingCrates](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/cravingcrates/32/16194_2.png) [@CravingCrates](https://forums.ankiweb.net/u/CravingCrates)\
**Post date:** [December 28, 2023, 3:38pm UTC](https://forums.ankiweb.net/t/github-repo-of-anki-cards/38918/2 "2023-12-28T15:38:37Z")

</div>

Yeah you can do that.  
I think this Add-on is what you are looking for: [GitHub - Stvad/CrowdAnki: Plugin for Anki SRS designed to facilitate cooperation on creation of notes and decks.](https://github.com/Stvad/CrowdAnki/)

---

<div class="post-metadata">

**Author:** ![chrislg](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/chrislg/32/32411_2.png) [@chrislg](https://forums.ankiweb.net/u/chrislg)\
**Post date:** [December 28, 2023, 4:01pm UTC](https://forums.ankiweb.net/t/github-repo-of-anki-cards/38918/3 "2023-12-28T16:01:25Z")

</div>

Unfortunately it doesn’t work well with the latest Anki version.

> Anki 23.12.1 (1a1d4d54) (src) (ao)  
> Python 3.9.15 Qt 6.6.1 PyQt 6.6.1  
> Platform: Linux-6.6.8-arch1-1-x86\_64-with-glibc2.38
> 
> Traceback (most recent call last):  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/dist/dulwich/file.py”, line 148, in **init**  
> fd = os.open(  
> FileExistsError: [Errno 17] File exists: ‘/home/chris/.local/share/Anki2/addons21/1788670778/user\_files/Chris/MyDeck\_\_Medicine\_\_a\_YelloW\_deck\_\_The\_ABSITE\_Review\_\_5th\_edition\_\_Chapter\_15\_\_Trauma/.git/objects/3c/9a31cef15582487e1dad1fde925062de89958a.lock’
> 
> The above exception was the direct cause of the following exception:
> 
> Traceback (most recent call last):  
> File “/home/chris/anki/ankidev/qt/aqt/progress.py”, line 118, in handler  
> func()  
> File “/home/chris/anki/ankidev/qt/aqt/main.py”, line 218, in on\_window\_init  
> fn()  
> File “/home/chris/anki/ankidev/qt/aqt/main.py”, line 317, in setupProfile  
> self.loadProfile()  
> File “/home/chris/anki/ankidev/qt/aqt/main.py”, line 496, in loadProfile  
> gui\_hooks.profile\_did\_open()  
> File “/home/chris/anki/ankidev/out/qt/\_aqt/hooks.py”, line 4107, in **call**  
> anki.hooks.runHook(“profileLoaded”)  
> File “/home/chris/anki/ankidev/pylib/anki/hooks.py”, line 34, in runHook  
> func(\*args)  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/history/archiver\_vendor.py”, line 42, in snapshot\_on\_sync  
> self.do\_snapshot(‘CrowdAnki: Snapshot on sync’)  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/history/archiver\_vendor.py”, line 50, in do\_snapshot  
> self.all\_deck\_archiver().archive(overrides=self.overrides(),  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/history/archiver.py”, line 23, in archive  
> self.deck\_archiver\_supplier(deck).archive(reason=reason)  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/history/anki\_deck\_archiver.py”, line 22, in archive  
> repo.stage\_all()  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/history/dulwich\_repo.py”, line 32, in stage\_all  
> self.dulwich\_repo.stage(status.untracked + status.unstaged)  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/dist/dulwich/repo.py”, line 1374, in stage  
> self.object\_store.add\_object(blob)  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/dist/dulwich/object\_store.py”, line 940, in add\_object  
> with GitFile(path, “wb”, mask=PACK\_MODE) as f:  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/dist/dulwich/file.py”, line 92, in GitFile  
> return \_GitFile(filename, mode, bufsize, mask)  
> File “/home/chris/.local/share/Anki2/addons21/1788670778/dist/dulwich/file.py”, line 154, in **init**  
> raise FileLocked(filename, self.\_lockfilename) from exc  
> dulwich.file.FileLocked: (‘/home/chris/.local/share/Anki2/addons21/1788670778/user\_files/Chris/MyDeck\_\_Medicine\_\_a\_YelloW\_deck\_\_The\_ABSITE\_Review\_\_5th\_edition\_\_Chapter\_15\_\_Trauma/.git/objects/3c/9a31cef15582487e1dad1fde925062de89958a’, ‘/home/chris/.local/share/Anki2/addons21/1788670778/user\_files/Chris/MyDeck\_\_Medicine\_\_a\_YelloW\_deck\_\_The\_ABSITE\_Review\_\_5th\_edition\_\_Chapter\_15\_\_Trauma/.git/objects/3c/9a31cef15582487e1dad1fde925062de89958a.lock’)
> 
> ===Add-ons (active)===  
> (add-on provided name [Add-on folder, installed at, version, is config changed])  
> Button Colours Good Again [‘2494384865’, 2022-09-27T12:18, ‘None’, ‘’]  
> CrowdAnki JSON exportimport Edit history Collaborate on deck creation [‘1788670778’, 2023-10-30T19:57, ‘None’, mod]  
> Edit Field During Review Cloze [‘385888438’, 2023-11-01T05:53, ‘6.17’, mod]  
> FSRS4Anki Helper [‘759844606’, 2023-12-27T08:23, ‘None’, mod]  
> Hint Hotkeys [‘1844908621’, 2023-04-14T16:13, ‘None’, ‘’]  
> Review Heatmap [‘1771074083’, 2022-06-30T03:43, ‘None’, ‘’]
> 
> ===IDs of active AnkiWeb add-ons===  
> 1771074083 1788670778 1844908621 2494384865 385888438 759844606
> 
> ===Add-ons (inactive)===  
> (add-on provided name [Add-on folder, installed at, version, is config changed])  
> AnkiHub [‘1322529746’, 2023-12-27T21:22, ‘None’, ‘’]

---

<div class="post-metadata">

**Author:** ![chrislg](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/chrislg/32/32411_2.png) [@chrislg](https://forums.ankiweb.net/u/chrislg)\
**Post date:** [December 28, 2023, 4:02pm UTC](https://forums.ankiweb.net/t/github-repo-of-anki-cards/38918/4 "2023-12-28T16:02:56Z")

</div>

I also thought of creating a script that dumps the Anki’s collection database and then use git version control

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex002/uploads/anki2/original/1X/8f1279ababc5879d54e4838989f606cfe55af8c7.jpeg) [@system](https://forums.ankiweb.net/u/system)\
**Post date:** [January 27, 2024, 4:03pm UTC](https://forums.ankiweb.net/t/github-repo-of-anki-cards/38918/5 "2024-01-27T16:03:16Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
