Скажем, Вам нужен пустой каталог, названный tmp:
$ mkdir tmp
$ touch tmp/.gitignore
$ git add tmp
$ echo '*' > tmp/.gitignore
$ git commit -m 'Empty directory' tmp
, Другими словами, необходимо добавить .gitignore файл к индексу, прежде чем можно будет сказать Мерзавцу игнорировать его (и все остальное в пустом каталоге).
SHGetFolderPath с CSIDL_PERSONAL можно использовать для получения папки документов пользователя.
WCHAR path[MAX_PATH];
HRESULT hr = SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL,
SHGFP_TYPE_CURRENT, path);
Вы можете сделать это:
wchar_t *pUSERPROFILE;
size_t len;
_wdupenv_s( &pUSERPROFILE, &len, L"USERPROFILE" );
wstring userprofile = pUSERPROFILE;
free (pUSERPROFILE);