I've got something I'm working with that, for the lack of a better, I'm wanting to ensure takes place for a client of mine.
I access the remote repository and grab the code base to modify a web app. I then have to actually push anything to a branch off that base (*v_bridge* ). *$> git checkout v_bridge* {do some work - need to commit & push this to b_000121} The way the client has defined their 'normal' process (*to which I had no knowledge*) is as follows: ** normal procedure (defined by client) is usually :* ** git checkout v_bridge* ** git branch b_000121* ** git publish b_000121* ** git checkout b_000121* ** do some work* ** git commit {filename.php}* ** git push origin b_000121* So, bearing that in mind I just wanted to see what was happening. Checking the remote revealed as follows: *$> git remote -v* *origin g...@xxx.xxx.xxx.xxx:/opt/git/lms.git (fetch)* *origin g...@xxx.xxx.xxx.xxx:/opt/git/lms.git (push)* OK... all good. Checking the specifics for the remote - lots of irrelevant things here removed for brevity - that everything is setup OK, but of course I'm 'out of date' on the local server. *$> git remote show origin* ** remote origin* * Fetch URL: git@67.212.178.194:/opt/git/lms.git* * Push URL: git@67.212.178.194:/opt/git/lms.git* * HEAD branch: master* * Remote branches:* * b_000120 tracked* * b_000121 tracked* * b_000122 tracked* * b_000123 tracked* * v_bridge tracked* * Local branches configured for 'git pull':* * master merges with remote master* * v_bridge merges with remote v_bridge* * Local refs configured for 'git push':* * master pushes to master (up to date)* * v_bridge pushes to v_bridge (local out of date)* Checking the local status displays what I've done on the local server. *$> git status* *# Changes not staged for commit:* *# (use "git add/rm <file>..." to update what will be committed)* *# (use "git checkout -- <file>..." to discard changes in working directory)* *#* *# modified: code.php* *# deleted: old_code.php* .... *#* *# Untracked files:* *# (use "git add <file>..." to include in what will be committed)* *#* *# added_code.php* *no changes added to commit (use "git add" and/or "git commit -a")* So after getting the files added, staged and commits finished locally ( *v_bridge*) - client wants changes pushed to '*b_000121*'. For whatever reason, the '*git push*' operation is confusing the hell out of me... what operation(s) would get this done without making a mess of things on the remote: *$> git push origin b_000121* *or* *$> git push remote v_bridge:b_000121* *or* *$> git push remote master:b_000121 * *or* *$> git push ???* Ultimately, the goal is ensuring a '*git checkout b_000121*' picks up all changes committed and pushed correctly by anyone then pulling the source. I would then sync things locally on this server by checking out and re-pulling '*b_000121*' for any additional things that arise. Anything I'm missing or doesn't look correctly thought out? *The Goal* 1) Get these (*important*) local changes committed to b_000121 2) Ensure all subsequent checkout/pull requests by anyone for b_000121 pick up all changes correctly 3) Reset the local to b_000121 to track all subsequent work / changes Thanx SO MUCH in advance for any all input, ideas, constructive criticisms... it's ALL welcomed and greatly appreciated! -- Dok -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.