Engee для профессионалов
Author
module engee_git
using Dates;
function configuration()
run(`git config --global user.name "$(ENV["GIT_USER_NAME"])"`);
run(`git config --global user.email "$(ENV["GIT_USER_EMAIL"])"`);
run(`git config --global init.defaultBranch master`)
end
configuration()
function init()
run(`git init`);
end
function clone(url)
run(`git clone $(url)`);
end
function term()
current_dt = Dates.format(now(), "yyyymmddHHMMSS")
run(`mv .git .git_backup_$(current_dt)`);
end
function remote(url)
run(`git remote add origin $(url)`);
run(`git remote -v`);
end
function status()
run(`git status`);
end
function index_add(files = ".")
map(file -> run(`git add $(file)`), split(files));
end
function index_reset(files = ".")
map(file -> run(`git reset $(file)`), split(files));
end
function index_remove(files)
map(file -> run(`git rm --cached $(file)`), split(files));
end
function commit(message)
run(`git commit -m $(message)`);
end
function commit_overwrite()
run(`git commit --amend --no-edit`);
end
function commit_overwrite(message)
run(`git commit --amend -m $(message)`);
end
function reset()
run(`git reset --hard HEAD`);
end
function reset(names)
map(name -> run(`git reset HEAD $(name)`), split(names));
end
function log()
run(`git log`);
end
function diff(check = "index_directory")
if check == "index"
run(`git diff --staged`);
elseif check == "directory"
run(`git diff HEAD`);
else
run(`git diff`);
end
end
function commit_show(hash)
run(`git show $(hash)`);
end
function fetch()
run(`git fetch`);
end
function pull()
run(`git pull`);
end
function push(force = "")
if force == "force"
run(`git push --force`);
else
run(`git push`);
end
end
function branch_show()
run(`git branch -a`);
end
function branch_switch(name)
run(`git checkout $(name)`);
end
function branch_create(name, checkout = false)
if checkout
run(`git checkout -b $(name)`);
else
run(`git branch $(name)`);
end
end
function branch_rename(name)
run(`git branch -m $(name)`);
end
function branch_remove(name)
run(`git branch -d $(name)`);
end
end