I have multiple projects in my solution. If we only keep changing the UI layer(Keeping BL,etc as common), is it a good practice to branch only the UI Project or should i branch the entire solution everytime we work on something new.
Please let me know.
You should branch the entire solution assuming the entire solution is released at the same time.
However, you only need to branch if you have multiple codebases that diverge from each other. If every developer is working against the same codebase then there is no need to branch at all.