Gsync basically means variable refresh rate. So if you are running game at say 78fps the monitor will run at 78hz, if you are at 35fps the monitor will run at 35hz etc up to 144hz. This eliminates tearing when framerate is in the gsync range.
It will work with vsync though I don't know why you would want to use the two together unless you had to for some reason, say if your fps was exceeding your monitors refresh rate and you had tearing. But in that situation I would just do a game engine FPS cap if I could.