Can I delete a branch when there is another branching from it?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I am not so familiar with version control. If I have my own branch from the master and eventually screw up something forcing me having to branch from an earlier point, can I safely delete my main branch to replace it with the new one? In other words if the master is branch A and I branch from the master as B and eventually branch from B as C, can I delete B in-order for C to become the main branch? Or will that result in C also being deleted?
version-control atlassian-sourcetree
add a comment |
I am not so familiar with version control. If I have my own branch from the master and eventually screw up something forcing me having to branch from an earlier point, can I safely delete my main branch to replace it with the new one? In other words if the master is branch A and I branch from the master as B and eventually branch from B as C, can I delete B in-order for C to become the main branch? Or will that result in C also being deleted?
version-control atlassian-sourcetree
add a comment |
I am not so familiar with version control. If I have my own branch from the master and eventually screw up something forcing me having to branch from an earlier point, can I safely delete my main branch to replace it with the new one? In other words if the master is branch A and I branch from the master as B and eventually branch from B as C, can I delete B in-order for C to become the main branch? Or will that result in C also being deleted?
version-control atlassian-sourcetree
I am not so familiar with version control. If I have my own branch from the master and eventually screw up something forcing me having to branch from an earlier point, can I safely delete my main branch to replace it with the new one? In other words if the master is branch A and I branch from the master as B and eventually branch from B as C, can I delete B in-order for C to become the main branch? Or will that result in C also being deleted?
version-control atlassian-sourcetree
version-control atlassian-sourcetree
asked Jan 3 at 13:24


Dean StrydomDean Strydom
978
978
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
In my opinion, repository are only a list of commit files.
In Git, branch are pointer on commit.
Commit store changes since the last commit.
Remove the branch "B" only remove the pointer "B".
It doesn't remove commits and files.
So remove the pointer "B" has no effect on the pointer "C".
Then you can remove the branch "B" without removing the branch "C".
But changes made in branch "B" after creating the branch "C" will be lost.
An simple example :
mkdir testBranchGit
cd testBranchGit
git init
touch 01.md
git add 01.md
git commit -m "01.md"
git checkout -b branchB
touch 02.md
git add 02.md
git commit -m "02.md"
git checkout -b branchC branchB
touch 03.md
git add 03.md
git commit -m "03.md"
git branch -d branchB
ls
git branch --list
git log
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54023175%2fcan-i-delete-a-branch-when-there-is-another-branching-from-it%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
In my opinion, repository are only a list of commit files.
In Git, branch are pointer on commit.
Commit store changes since the last commit.
Remove the branch "B" only remove the pointer "B".
It doesn't remove commits and files.
So remove the pointer "B" has no effect on the pointer "C".
Then you can remove the branch "B" without removing the branch "C".
But changes made in branch "B" after creating the branch "C" will be lost.
An simple example :
mkdir testBranchGit
cd testBranchGit
git init
touch 01.md
git add 01.md
git commit -m "01.md"
git checkout -b branchB
touch 02.md
git add 02.md
git commit -m "02.md"
git checkout -b branchC branchB
touch 03.md
git add 03.md
git commit -m "03.md"
git branch -d branchB
ls
git branch --list
git log
add a comment |
In my opinion, repository are only a list of commit files.
In Git, branch are pointer on commit.
Commit store changes since the last commit.
Remove the branch "B" only remove the pointer "B".
It doesn't remove commits and files.
So remove the pointer "B" has no effect on the pointer "C".
Then you can remove the branch "B" without removing the branch "C".
But changes made in branch "B" after creating the branch "C" will be lost.
An simple example :
mkdir testBranchGit
cd testBranchGit
git init
touch 01.md
git add 01.md
git commit -m "01.md"
git checkout -b branchB
touch 02.md
git add 02.md
git commit -m "02.md"
git checkout -b branchC branchB
touch 03.md
git add 03.md
git commit -m "03.md"
git branch -d branchB
ls
git branch --list
git log
add a comment |
In my opinion, repository are only a list of commit files.
In Git, branch are pointer on commit.
Commit store changes since the last commit.
Remove the branch "B" only remove the pointer "B".
It doesn't remove commits and files.
So remove the pointer "B" has no effect on the pointer "C".
Then you can remove the branch "B" without removing the branch "C".
But changes made in branch "B" after creating the branch "C" will be lost.
An simple example :
mkdir testBranchGit
cd testBranchGit
git init
touch 01.md
git add 01.md
git commit -m "01.md"
git checkout -b branchB
touch 02.md
git add 02.md
git commit -m "02.md"
git checkout -b branchC branchB
touch 03.md
git add 03.md
git commit -m "03.md"
git branch -d branchB
ls
git branch --list
git log
In my opinion, repository are only a list of commit files.
In Git, branch are pointer on commit.
Commit store changes since the last commit.
Remove the branch "B" only remove the pointer "B".
It doesn't remove commits and files.
So remove the pointer "B" has no effect on the pointer "C".
Then you can remove the branch "B" without removing the branch "C".
But changes made in branch "B" after creating the branch "C" will be lost.
An simple example :
mkdir testBranchGit
cd testBranchGit
git init
touch 01.md
git add 01.md
git commit -m "01.md"
git checkout -b branchB
touch 02.md
git add 02.md
git commit -m "02.md"
git checkout -b branchC branchB
touch 03.md
git add 03.md
git commit -m "03.md"
git branch -d branchB
ls
git branch --list
git log
answered Jan 3 at 14:48


Florian CallewaertFlorian Callewaert
814
814
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54023175%2fcan-i-delete-a-branch-when-there-is-another-branching-from-it%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown