I would like to know which of these sentences is correct:
1) The code changes have been done and have been checked in.
2) The code changes have been done and checked in.
3) The code changes are done and checked in.
I would personally use the code changes are done and have been checked in, but out of your three examples, the second one makes most sense to me.
All of your sentences are basically correct. However, I would use finished or completed instead of done in the first two examples (actually, I wouldn't use the first example at all; I'll explain why further down), because we usually say that something is done rather than it has been done when we use the word in the sense of finished.
As ZenLogic suggests, The code changes are done and have been checked in is the underlying meaning of your third sentence. However, it is very common to leave out the "have been" as it is implied. In fact, it is more common to do so than it is to repeat it, so your second sentence would be more common than your first.
I can't think of a time where I would use "have been" twice: "The code changes have been made and have been checked in" just sounds overly wordy and the repetition doesn't add to the clarity of the sentence. Here are some other common examples of running two verbs together like this, without repeating auxiliary verbs:
I have worked and slaved to get the money. (Not I have worked and have slaved...)
The opportunity has come and gone. (Not the opportunity has come and has gone.)
I have tried and tried, but can't seem to figure it out.
Now you've gone and done it!
Done is often used informally. When we say that something is "done" it usually carries the meaning of "finished". For example:
The cake is done. (The cake is ready to come out of the oven.)
The biscuits are done. (Ditto with the biscuits.)
The dishes are done/I'm done with the dishes. (I have finished washing the dishes.)
I'm done with the lawn. (I have finished mowing the lawn.)
My homework is done. (I have finished my homework assignments.)
So, which verb you use has to do with the level of formality in your communication. For example, If your boss calls over to you and asks "What about those code changes?" you might respond "they're done and checked in." Then he might say "Ok, thanks. Would you mind emailing everyone to let them know?" Then in that email you might use completed: "The code changes have been completed and checked in" or even more formally "The code changes are complete and have been checked in."