For those of you trying to create a new Go Language - Revel Web Framework based project, here is a sample .gitignore file.
But before I provide you with the information, we need to discuss the project structure. If you visit the Revel site here, you will see their organization structure of a Revel project. In my case, their my_gocode/ folder is much deeper in what I store in my BitBucket account (or GitHub for that matter).
. ├── code │ ├── bin │ │ └── revel │ ├── pkg │ └── src │ ├── github.com ... │ ├── golang.org ... │ ├── gopkg.in ... │ └── mywebsite.com │ └── web │ ├── app │ │ ├── controllers │ │ │ └── app.go │ │ ├── init.go │ │ └── views │ │ ├── App │ │ │ └── Index.html │ │ ├── debug.html │ │ ├── errors │ │ │ ├── 404.html │ │ │ └── 500.html │ │ ├── flash.html │ │ ├── footer.html │ │ └── header.html │ ├── conf │ │ ├── app.conf │ │ └── routes │ ├── messages │ │ └── sample.en │ ├── public │ │ ├── css │ │ │ └── bootstrap.css │ │ ├── img │ │ │ ├── favicon.png │ │ │ ├── glyphicons-halflings.png │ │ │ └── glyphicons-halflings-white.png │ │ └── js │ │ └── jquery-1.9.1.min.js │ ├── README.md │ └── tests │ └── apptest.go ├── design │ ├── logo-design1.png │ ├── logo-design1.psd │ ├── logo-final.png │ └── logo-design2.psd ├── resources │ └── some-materialcss-templates ...
As you can see my structure also includes some PhotoShop artefacts that also needs to be stored in my BitBucket (GIT) project. In my case, I want to ignore some of the go lang artefacts and revel artefacts.
So in the project-root, I created a .gitignore with the following contents relative to my project-root:
code/bin/ code/pkg/ code/src/github.com/ code/src/golang.org/ code/src/gopkg.in/
The above tells GIT to ignore the “github.com/**”, “golang.org/**” and “gopkg.in/**” subdirectories. As you add additional dependencies, you can revise and add to the above .gitignore file as needed.
Cheers!

