Truth tables are ok for Propositional Logic (PL) (aka logic without quantifiers, relations and identity) languages with a small number of nonlogical predicates. The issue is with n non logical terms (all propositional variables with PL), you require 2^n evaluations.
Assuming classical logic, another way is to distribute into a normal form, then you can usually just "read off" that every valuation is true.
(S or (G and ¬S)) or ¬G
((S or G) and (S or ¬S)) or ¬G (by distributivity)
(((S or G) or ¬G) and ((S or ¬S) or ¬G)) (by distibutivity again)
T (by resolution of the clauses- think "reading off")
To explain what this "reading off" amounts to: all clauses in this conjunctive normal form evaluate to truly since each disjunction contains at least one pair of the form phi and ¬phi.