untracked file deleted from the master branch, when checked out to it from a local branch

6 messages, 3 authors, 2016-06-15 · open the first message on its own page

untracked file deleted from the master branch, when checked out to it from a local branch

From: Arup Rakshit <hidden>
Date: 2016-06-15 23:01:15

I was following some tutorial (http://gitref.org/branching/#merge) - and doing 
it in my console :

Arup-iMac:arup_git shreyas$ git status
# On branch master
nothing to commit, working directory clean
Arup-iMac:arup_git shreyas$ touch test.rb
Arup-iMac:arup_git shreyas$ ls
git_1.txttest.rb
Arup-iMac:arup_git shreyas$ cat test.rb
Arup-iMac:arup_git shreyas$ vi test.rb
Arup-iMac:arup_git shreyas$ cat test.rb
class Foo
  def self.bar
    12
  end
end

Foo.bar
***********HERE I switched to a NEW Branch****************
Arup-iMac:arup_git shreyas$ git checkout -b change_class
Switched to a new branch 'change_class'
Arup-iMac:arup_git shreyas$ ls
git_1.txttest.rb
Arup-iMac:arup_git shreyas$ vi test.rb
Arup-iMac:arup_git shreyas$ head -1 test.rb
class Fooo
Arup-iMac:arup_git shreyas$ head -2 test.rb
class Fooo
  def self.bar
Arup-iMac:arup_git shreyas$ git commit -am 'changed the class name'
# On branch change_class
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#test.rb
nothing added to commit but untracked files present (use "git add" to track)
Arup-iMac:arup_git shreyas$ git add test.rb
Arup-iMac:arup_git shreyas$ git commit -am 'changed the class name'
[change_class 2d40033] changed the class name
 1 file changed, 7 insertions(+)
 create mode 100644 test.rb
Arup-iMac:arup_git shreyas$ cat test.rb
class Fooo
  def self.bar
    12
  end
end

Fooo.bar
Arup-iMac:arup_git shreyas$ git checkout master
Switched to branch 'master'
Arup-iMac:arup_git shreyas$ git mv test.rb ruby.rb
fatal: bad source, source=test.rb, destination=ruby.rb
Arup-iMac:arup_git shreyas$ git mv -h
usage: git mv [options] <source>... <destination>

    -v, --verbose         be verbose
    -n, --dry-run         dry run
    -f, --force           force move/rename even if target exists
    -k                    skip move/rename errors
|--------------------------------------------------------------------------------------------------------------|
********FROM MASTER BRACH WHY THE FILE test.rb DELETED?***********
Arup-iMac:arup_git shreyas$ ls
git_1.txt
Arup-iMac:arup_git shreyas$ 

-- 
===============
Regards,
Arup Rakshit

Re: untracked file deleted from the master branch, when checked out to it from a local branch

From: Marius Storm-Olsen <hidden>
Date: 2016-06-15 23:01:16

On 5/20/2014 10:38 AM, Arup Rakshit wrote:
I was following some tutorial (http://gitref.org/branching/#merge) - and doing
it in my console :

Arup-iMac:arup_git shreyas$ git status
# On branch master
nothing to commit, working directory clean
Arup-iMac:arup_git shreyas$ touch test.rb
Arup-iMac:arup_git shreyas$ ls
git_1.txttest.rb
Arup-iMac:arup_git shreyas$ cat test.rb
Arup-iMac:arup_git shreyas$ vi test.rb
Arup-iMac:arup_git shreyas$ cat test.rb
class Foo
   def self.bar
     12
   end
end

Foo.bar
***********HERE I switched to a NEW Branch****************
...
********FROM MASTER BRACH WHY THE FILE test.rb DELETED?***********
Arup-iMac:arup_git shreyas$ ls
git_1.txt
Because you never committed the original file to the master branch 
before you created and switched to the change_class branch.

You're missing
     git add test.rb
     git commit -m "initial version of test.rb"
before you switch branches the first time.

-- 
.marius

Re: untracked file deleted from the master branch, when checked out to it from a local branch

From: Arup Rakshit <hidden>
Date: 2016-06-15 23:01:16

On Tuesday, May 20, 2014 11:56:57 AM you wrote:
On 5/20/2014 10:38 AM, Arup Rakshit wrote:
quoted
I was following some tutorial (http://gitref.org/branching/#merge) - and
doing it in my console :
Because you never committed the original file to the master branch
before you created and switched to the change_class branch.

You're missing
     git add test.rb
     git commit -m "initial version of test.rb"
before you switch branches the first time.
Hum, But when I create a new branch from master, then it came to the new 
branch, but deleted from the master. Shouldn't it also not come to the new 
local branch also. That's how I expected.

-- 
===============
Regards,
Arup Rakshit

Re: untracked file deleted from the master branch, when checked out to it from a local branch

From: Marius Storm-Olsen <hidden>
Date: 2016-06-15 23:01:16

On 5/20/2014 11:03 AM, Arup Rakshit wrote:
On Tuesday, May 20, 2014 11:56:57 AM you wrote:
quoted
On 5/20/2014 10:38 AM, Arup Rakshit wrote:
quoted
I was following some tutorial (http://gitref.org/branching/#merge) - and
doing it in my console :
quoted
Because you never committed the original file to the master branch
before you created and switched to the change_class branch.

You're missing
      git add test.rb
      git commit -m "initial version of test.rb"
before you switch branches the first time.
Hum, But when I create a new branch from master, then it came to the new
branch, but deleted from the master. Shouldn't it also not come to the new
local branch also. That's how I expected.
It never "came to the new branch", as it was never version controlled, 
it was an untracked file left behind when you switched branches.

Once you added it to the new branch, change_class, it became a version 
controlled file, and since you moved to a branch without that file (the 
pristine clean master branch), git removed it. (your version history 
says that change_class contains test.rb and master does not.)

-- 
.marius

Re: untracked file deleted from the master branch, when checked out to it from a local branch

From: Arup Rakshit <hidden>
Date: 2016-06-15 23:01:16

On Tuesday, May 20, 2014 12:06:49 PM you wrote:
It never "came to the new branch", as it was never version controlled,
it was an untracked file left behind when you switched branches.

Once you added it to the new branch, change_class, it became a version
controlled file, 
This is still  didn't get it. If an untracked file didn't come in the new 
branch, how would I able to add it to stage ? I am not getting this part. You 
are right, but I am not able to understand this one, my bad! :(

-- 
===============
Regards,
Arup Rakshit

Re: untracked file deleted from the master branch, when checked out to it from a local branch

From: Marius Storm-Olsen <hidden>
Date: 2016-06-15 23:01:16

On 5/20/2014 12:20 PM, Arup Rakshit wrote:
On Tuesday, May 20, 2014 12:06:49 PM you wrote:
quoted
It never "came to the new branch", as it was never version controlled,
it was an untracked file left behind when you switched branches.

Once you added it to the new branch, change_class, it became a version
controlled file,
This is still  didn't get it. If an untracked file didn't come in the new
branch, how would I able to add it to stage ? I am not getting this part. You
are right, but I am not able to understand this one, my bad! :(
Ok, step by step:

You've created test.rd, that was never added to the git repo. (You never 
committed it to the master branch.)

 > ***********HERE I switched to a NEW Branch****************
 > Arup-iMac:arup_git shreyas$ git checkout -b change_class
 > Switched to a new branch 'change_class'
 > Arup-iMac:arup_git shreyas$ ls
 > git_1.txt test.rb

test.rd is untracked, so still there. Git doesn't touch untracked files.


 > Arup-iMac:arup_git shreyas$ vi test.rb
 > Arup-iMac:arup_git shreyas$ head -1 test.rb
 > class Fooo
 > Arup-iMac:arup_git shreyas$ head -2 test.rb
 > class Fooo
 >    def self.bar

You modified it


 > Arup-iMac:arup_git shreyas$ git commit -am 'changed the class name'
 > # On branch change_class
 > # Untracked files:
 > #   (use "git add <file>..." to include in what will be committed)
 > #
 > #test.rb
 > nothing added to commit but untracked files present (use "git add" to 
track)

You did nothing here..


 > Arup-iMac:arup_git shreyas$ git add test.rb
 > Arup-iMac:arup_git shreyas$ git commit -am 'changed the class name'
 > [change_class 2d40033] changed the class name
 >   1 file changed, 7 insertions(+)
 >   create mode 100644 test.rb

Your previously untracked file has now been checked in. It's no longer 
untracked, so now Git cares.


 > Arup-iMac:arup_git shreyas$ cat test.rb
 > class Fooo
 >    def self.bar
 >      12
 >    end
 > end
 >
 > Fooo.bar
 > Arup-iMac:arup_git shreyas$ git checkout master
 > Switched to branch 'master'

You switched back to master branch, which contains no test.rb (as it's 
clean and has never been committed to), so therefore Git removes the 
file, since the now tracked test.rb shouldn't be on the master branch.

-- 
.marius
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help