How to merge local branch with migrations created in docker - django

In my pet project I set up docker-compose for development. The issue is that I've create django migration inside docker and when I want to checkout to main branch and merge commits from sub branch I got an error:
error: The following untracked working tree files would be overwritten by merge:
apps/users/migrations/0002_auto_20190127_1652.py
Then I type git status and I can see that that migration file is still untracked. And I cannot return to the previous branch because of the same error.

I believe this may be related with the issue you have reported here.
If so the solution is the same I gave there on this answer.
So the above answer solve the permissions issues that I believe are the cause of your error when trying to use git to merge your branches.
With the permissions issue solved git should now work as expected.

Related

Unable to publish GitHub page for my R package using pkgdown

I was trying to build a website for my R package using pkgdown R package. FYI, I am not using <username>.github.io.
Following the instrucution (https://pkgdown.r-lib.org/articles/pkgdown.html#publishing), I ran
usethis::use_pkgdown_github_pages()
I have created 'docs' folder and html files in my master branch and an empty 'gh-pages' branch. When I checked locally built pages using pkgdown::build_site(), it works perfect.
However, when I open <username>.github.io/<packagename>, I have 404 error (files not found). Is this because of empty gh-pages branch? Or, is this because I am not using <username>.github.io? The instruction does not provide much, so could you share me any extra documents that explains how to publish a project website on Github using pkgdown?
Thank you!
Sorry for not providing an reproducible example.
I tried re-run
usethis::use_pkgdown_github_pages()
command
commit and push the changes on md files + use pkgdown::build_site() to check locally.
I thought if I made changes on the md files and push the changes to GitHub master branch, pre-setuped bots or codes by use_pkgdown_github_pages() builds and publish the webpage.
Just want to update my situation:
I don't know how and why, but 'gh-pages' branch is mirroring the main/document folder for some reason. Github action called "pages build and deployment" ran successfully from mirrored 'gh-pages' branch.

Git commit from a bisect

I have only ever used git add . for this project, but somewhere along the line I started getting the strange "modified content, untracked content" error on one of my subdirectories (called users). Other stackoverflow answers didn't work for me. I used checkout to go back through previous commits, but the buggy/untracked subdirectory didn't change with the rest of the directory. I ended up making manual changes to it and then running git checkout master to make sure everything else was back where it started.
Git is saying that I'm bisecting, and it won't let me commit. I looked over stackoverflow answers, and tried some of the following commands:
git pull:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
git pull origin master:
fatal: 'origin' does not appear to be a git repository
git branch --set-upstream-to=origin/master master:
error: the requested upstream branch 'origin/master' does not exist
hint:
hint: If you are planning on basing your work on an upstream
hint: branch that already exists at the remote, you may need to
hint: run "git fetch" to retrieve it.
hint:
hint: If you are planning to push out a new local branch that
hint: will track its remote counterpart, you may want to use
hint: "git push -u" to set the upstream config as you push.
git pull --rebase:
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
Apologies if these commands are all over the place. I intend to really learn how git works soon, but right now I just want to commit the changes so I can deploy my project.
UPDATE: I used git bisect reset, created a new branch out of my detached head, and then merged with the master. This kept the changes I made, so now I just need to figure out how to get users tracked again in my commits. git add users still isn't doing anything.

Create new environment from terminal - hit error: git could not find the HEAD

When I want to create environment for Elastic Beanstalk. (eb create new-dev-env)
I hit error as below:
ERROR: git could not find the HEAD; most likely because there are no commits present
How to solve this problem?
Ok, I get the answer.
Just need to commit the code in local repository.
Then it will create the git head.
After that, I can create the environment

Error in cloudbees build: unable to find pom.xml

When I build my cloudbees project it gives the following error:
ERROR: No such file /scratch/jenkins/workspace/glassfish-myruby/pom.xml
Where my project name is glassfish-myruby.
Go to the job you created and click on the "Workspace" link on the left. This will show you how your project was checked out. The pom may be in a different place than you expect.
I ran into a similar problem. My project was building fine, then suddenly stopped with the same error:
Parsing POMs
ERROR: No such file /scratch/jenkins/workspace/MyMoney/pom.xml
Perhaps you need to specify the correct POM file path in the project configuration?
[cloudbees-deployer] Skipping deployment as build result is FAILURE
Finished: FAILURE
I realized the only thing I had changed was adding a GitHub page (as described in http://pages.github.com/)
For reasons I don't understand, this was causing my project to check out from the gh-pages branch instead of master, as reflected in the console output:
Commencing build of Revision 88d8d7ee822e02aa2cdae11e07265eb7a8403fed (origin/gh-pages)
This was also reflected in the jenkins workspace (it contained the GitHub pages files, rather than my project files).
I'm sure there is a way to get this to work AND use GitHub pages, but for me the GitHub page was just an experiment, so I deleted the branch using:
git push origin --delete gh-pages
I then also did another commit to make sure all was OK and rebuilt.
The project is now checking out from master again and building OK.

Why is git not pushing contents of a folder?

After copying a folder 'myapp' into to my working folder, I do the following to add it to my staging area:
git add .
and then commit the changes:
git commit
Then I push my changes to Heroku:
git push heroku master
So my folder, called 'myapp' is present on heroku, but the problem is that it's completely empty.
When I do the following,
git clone myapp myapp2
the folder clones properly on my local machine with all expected subcontents.
Does anyone know why the subfolders' contents are not being pushed to Heroku properly? What am I doing wrong?
To answer the questions below:
I am doing the git add . in my top level folder (the folder that contains folder myapp). Doing git status shows `no changes added to commit (use "git add" and/or "git commit -a")
Yes, myapp contains files/folders (my django project)
I deleted my .gitignore file because I placed my virtual environment in another place altogeher so it's no longer in my project folder so I don't think that's affecting it.
Ok, I seemed to have solved the problem. Somehow git got in a weird state. I don't really understand how, but for some reason it wasn't adding any of the files in the folder.
I simply copied that folder and gave it a new name, and then followed the exact same process I had been doing all along, and it finally uploaded properly.
By default, you cannot push changes to a checked-out branch of a repository. It usually causes major problems! Here is what usually happens:
$ git push heroku master
...error messages...
To heroku
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'heroku'
Since you haven't mentioned any error messages, I'm assuming that you've added the following to your heroku repository configuration, or you're running a fairly old version of Git:
[receive]
denyCurrentBranch = false
It sounds like you want to check out a fresh copy of the master branch whenever you push a new version to your heroku repository. That can be achieved with a post-receive hook. Create a file in your heroku repository .git/hooks/post-receive, and give it +x permissions.
#!/bin/sh
while read oldrev newrev refname
do
if test "$refname" = refs/heads/master
then
( cd ..; GIT_DIR=.git; git reset --hard )
fi
done
Now, whenever you push a new master branch to heroku, the hook will run and check out the new branch. There are better ways to do this kind of thing, but this is simple.
Summary: By default, when you push changes, it only changes the history but not the working tree. The assumption is that someone might be working on that tree, so doing anything to it could be destructive.