Rajeev
Rajeev

Reputation: 46929

git commit to a cloned reporsitory

Here in the below code i need some info on cloning

there is a main repo which created by the command

              mkdir git_repo
              cd git_repo
              git init --bare //creates empty repo

Then a user will clone the git_repo

              git clone git_repo user_repo

Again the user will clone the new one to create a backup

             git clone user_repo user_bk
             cd user_bk
             //user will edit an existing file and commit it
             git push origin master
            Counting objects: 5, done.
            Delta compression using up to 8 threads.
            Compressing objects: 100% (2/2), done.
            Writing objects: 100% (3/3), 294 bytes, done.
            Total 3 (delta 0), reused 0 (delta 0)
            Unpacking objects: 100% (3/3), done.
            remote: error: refusing to update checked out branch: refs/heads/master
            remote: error: By default, updating the current branch in a non-bare repository
            remote: error: is denied, because it will make the index and work tree inconsistent
            remote: error: with what you pushed, and will require 'git reset --hard' to match
            remote: error: the work tree to HEAD.
            remote: error:
            remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
            remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
            remote: error: its current branch; however, this is not recommended unless you
            remote: error: arranged to update its work tree to match what you pushed in some
            remote: error: other way.
            remote: error:
            remote: error: To squelch this message and still keep the default behaviour, set
            remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
            To user_repo
             ! [remote rejected] master -> master (branch is currently checked out)
            error: failed to push some refs to 'user_bk'newtest by user

My question is that

1.In git can we checkin to a cloned reporsitory

2.If this has to be donw then how is it to be done

3.How to resolve the above error condition

Upvotes: 2

Views: 141

Answers (3)

vpatil
vpatil

Reputation: 3476

1.We can push to clone repository. For this configure your .config file in .git directory appropriately.
3. The error you are getting says "branch is currently checked out". Here you are pushing to remote repository on master branch which is checked out at remote side. Checkout a diff. branch at remote side using git checkout branchname and then push again.

Upvotes: 0

rdrmntn
rdrmntn

Reputation: 466

Go to user_repo and then:

git config --local --add receive.denyCurrentBranch ignore

Then you will be able to do what you tried. However, this is not recommended as stated in your printout. And why commit things in your backup? Use git clone --bare to create the backup instead.

Upvotes: 2

ThiefMaster
ThiefMaster

Reputation: 318518

You are not supposed to push to a non-bare repository. Simply use git clone --bare when creating the backup repository.

Upvotes: 1

Related Questions