<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2008 (1.71) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Forcing Changes</TITLE> <META NAME="description" CONTENT="Forcing Changes"> <META NAME="keywords" CONTENT="developers"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META NAME="Generator" CONTENT="LaTeX2HTML v2008"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="developers.css"> <LINK REL="previous" HREF="Step_Step_Modifying_Bacula.html"> <LINK REL="up" HREF="Bacula_Git_Usage.html"> <LINK REL="next" HREF="Bacula_FD_Plugin_API.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html602" HREF="Bacula_FD_Plugin_API.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html596" HREF="Bacula_Git_Usage.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html592" HREF="Step_Step_Modifying_Bacula.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html598" HREF="Contents.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <A NAME="tex2html600" HREF="GNU_Free_Documentation_Lice.html"> <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> <BR> <B> Next:</B> <A NAME="tex2html603" HREF="Bacula_FD_Plugin_API.html">Bacula FD Plugin API</A> <B> Up:</B> <A NAME="tex2html597" HREF="Bacula_Git_Usage.html">Bacula Git Usage</A> <B> Previous:</B> <A NAME="tex2html593" HREF="Step_Step_Modifying_Bacula.html">Step by Step Modifying</A> <B> <A NAME="tex2html599" HREF="Contents.html">Contents</A></B> <B> <A NAME="tex2html601" HREF="GNU_Free_Documentation_Lice.html">Index</A></B> <BR> <BR> <!--End of Navigation Panel--> <H1><A NAME="SECTION00340000000000000000"> Forcing Changes</A> </H1> If you want to understand why it is not a good idea to force a push to the repository, look at the following picture: <P> <IMG WIDTH="470" HEIGHT="492" ALIGN="BOTTOM" BORDER="0" SRC="img4.png" ALT="\includegraphics[width=0.85\textwidth]{git-edit-commit.eps}"> <P> The above graphic has three lines of circles. Each circle represents a commit, and time runs from the left to the right. The top line shows the repository just before you are going to do a push. Note the point at which you pulled is the circle on the left, your changes are represented by the circle labeled <B>Your mods</B>. It is shown below to indicate that the changes are only in your local repository. Finally, there are pushes A and B that came after the time at which you pulled. <P> If you were to force your changes into the repository, Git would place them immediately after the point at which you pulled them, so they would go before the pushes A and B. However, doing so would rewrite the history of the repository and make it very difficult for other users to synchronize since they would have to somehow wedge their changes at some point before the current HEAD of the repository. This situation is shown by the second line of pushes. <P> What you really want to do is to put your changes after Push B (the current HEAD). This is shown in the third line of pushes. The best way to accomplish this is to work in a branch, pull the repository so you have your master equal to HEAD (in first line), then to rebase your branch on the current master and then commit it. The exact commands to accomplish this are shown in the next couple of sections. <P> <HR> <!--Navigation Panel--> <A NAME="tex2html602" HREF="Bacula_FD_Plugin_API.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html596" HREF="Bacula_Git_Usage.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html592" HREF="Step_Step_Modifying_Bacula.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html598" HREF="Contents.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <A NAME="tex2html600" HREF="GNU_Free_Documentation_Lice.html"> <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> <BR> <B> Next:</B> <A NAME="tex2html603" HREF="Bacula_FD_Plugin_API.html">Bacula FD Plugin API</A> <B> Up:</B> <A NAME="tex2html597" HREF="Bacula_Git_Usage.html">Bacula Git Usage</A> <B> Previous:</B> <A NAME="tex2html593" HREF="Step_Step_Modifying_Bacula.html">Step by Step Modifying</A> <B> <A NAME="tex2html599" HREF="Contents.html">Contents</A></B> <B> <A NAME="tex2html601" HREF="GNU_Free_Documentation_Lice.html">Index</A></B> <!--End of Navigation Panel--> <ADDRESS> 2010-06-14 </ADDRESS> </BODY> </HTML>