diff --git a/models/repo.go b/models/repo.go
index 01b8fdb126..01736b631d 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -255,12 +255,13 @@ func CreateRepository(user *User, name, desc, lang, license string, private, mir
 	}
 
 	repo := &Repository{
-		OwnerId:     user.Id,
-		Name:        name,
-		LowerName:   strings.ToLower(name),
-		Description: desc,
-		IsPrivate:   private,
-		IsBare:      lang == "" && license == "" && !initReadme,
+		OwnerId:       user.Id,
+		Name:          name,
+		LowerName:     strings.ToLower(name),
+		Description:   desc,
+		IsPrivate:     private,
+		IsBare:        lang == "" && license == "" && !initReadme,
+		DefaultBranch: "master",
 	}
 	repoPath := RepoPath(user.Name, repo.Name)
 
diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go
index c8e1aaee72..cd13d4ef49 100644
--- a/modules/middleware/repo.go
+++ b/modules/middleware/repo.go
@@ -134,6 +134,10 @@ func RepoAssignment(redirect bool, args ...bool) martini.Handler {
 		ctx.Repo.CloneLink.HTTPS = fmt.Sprintf("%s%s/%s.git", base.AppUrl, user.LowerName, repo.LowerName)
 		ctx.Data["CloneLink"] = ctx.Repo.CloneLink
 
+		if ctx.Repo.Repository.IsGoget {
+			ctx.Data["GoGetLink"] = strings.TrimSuffix(ctx.Repo.CloneLink.HTTPS, ".git")
+		}
+
 		// when repo is bare, not valid branch
 		if !ctx.Repo.Repository.IsBare && validBranch {
 		detect:
diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl
index 648eb7c467..441fd542df 100644
--- a/templates/base/head.tmpl
+++ b/templates/base/head.tmpl
@@ -9,7 +9,7 @@
 		<meta name="description" content="Gogs(Go Git Service) is a GitHub-like clone in the Go Programming Language" />
 		<meta name="keywords" content="go, git">
 		<meta name="_csrf" content="{{.CsrfToken}}" />
-		{{if .Repository.IsGoget}}<meta name="go-import" content="{{AppDomain}} git {{.CloneLink.HTTPS}}">{{end}}
+		<meta name="go-import" content="{{AppDomain}} git {{if .Repository.IsGoget}}{{.GoGetLink}}{{else}}{{AppDomain}}/{{end}}">
 
 		 <!-- Stylesheets -->
 		{{if IsProdMode}}