`
sodler
  • 浏览: 14627 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

向github推送代码

阅读更多

本菜在学习djangogirls的课程内容,总结了一些关于推送代码的内容

从上至下按顺序执行。

 

从 GitHub拉取代码:git clone “ github代码地址 ”

GitHub代码地址类似于

ssh: git@github:username/project.git 

http:https://github.com/username/project.git

 

 

刚刚完成的网页代码:

Git是一个被大量程序员使用的"版本控制系统"。 此软件可以跟踪任何时间文件的改变,这样你以后可以随时召回某个特定版本。 有点像Microsoft Word 的"跟踪更改"功能 ,但更强大。

 

在linux中如果git还没有被安装的话,你可以从你的软件包管理器中下载git, 尝试下面命令:

sudo apt-get install git

# or

sudo yum install git

# or

sudo zypper install git

 

创建自己的Git版本库

Git跟踪一组特定的在代码仓库(或简称“仓库”)中文件的更改。 我们开始用git管理自己的项目吧。

打开你的终端,进入 项目根目录 文件夹运行以下的命令:

注意 在初始化仓库之前,请使用 pwd命令 (OSX/Linux) 或者 cd (Windows) 命令检查你当前的工作目录。 你应该是在 项目根目录 下运行命令

$ git init

Initialized empty Git repository in ~/项目根目录/.git/

$ git config --global user.name "Your Name"

$ git config --global user.email you@example.com

每个项目只需要初始化一次Git仓库,因此不需要重新输入用户名和邮箱。

Git会追踪这个目录下所有文件和文件夹的更改,但是有一些文件我们希望Git忽略它,为此,我们可以在项目的根目录下创建一个命名为 .gitignore.txt 的文件。打开编辑器,创建新文件并写入以下内容:

*.pyc

__pycache__

myvenv

db.sqlite3

.DS_Store

然后在 项目根目录 下保存为 .gitignore文件。

注意:在文件名最前面的"."很重要。

在执行git操作之前,最好使用 git status 命令查看一下当前的状态,尤其是在执行 git add或者在你不确定哪些文件被改动的情况下。 这有助于阻止各种意外发生,例如错误的文件被添加或提交。 git status 命令会返回所有未追踪/修改/暂存的文件,还有分支状态等信息。 输出会是这样:

$ git status

On branch master

 

Initial commit

 

Untracked files:

  (use "git add <file>..." to include in what will be committed)

 

        .gitignore

        blog/

        manage.py

        mysite/

 

nothing added to commit but untracked files present (use "git add" to track)

最后保存更改,转到控制台并运行这些命令:

$ git add --all .

$ git commit -m "My Django Girls app, first commit"

[...]

13 files changed, 200 insertions(+)

create mode 100644 .gitignore

[...]

create mode 100644 mysite/wsgi.py

 

 

 

 

推送我们的代码到Github上

现在,创建一个新的仓库,命名为“my-first-blog”。 保持 "initialise with a README" 复选框未选中状态,.gitignore 选项为无 (已经手动创建了) ,让License设置为无。

 

在下一屏中,你将看到你的仓库克隆 URL 。选择“HTTPS”版本,拷贝地址把它粘贴到终端

 

现在我们需要把电脑上的Git仓库和Github上的挂接。

在控制台输入以下内容(替换 <your-github-username> 为你的 github 用户名)

$ git remote add origin 【不同的代码库只需更改此网址https://github.com/<your-github-username>/my-first-blog.git】

$ git push -u origin master

输入你的Github账号名和密码:

Username for 'https://github.com': 

Password for 'https://hjwp@github.com':

Counting objects: 6, done.

Writing objects: 100% (6/6), 200 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To https://github.com/hjwp/my-first-blog.git

 * [new branch]      master -> master

Branch master set up to track remote branch master from origin.

 

 

 

更改后的代码:

提交并推送代码到Github

首先确认上次部署之后什么文件改变了:

$ git status

 

请确保在项目根目录中,告诉 git 包括此目录内的所有更改:

$ git add --all .

注: --all意味着,git 也会认识到如果你已经删除的文件。此外 . 意味着当前目录。

 

在上传所有文件之前先检查 git 将上传什么(所有git 将上传的文件现在应以绿色显示):

$ git status

 

给它附上一条"提交消息"用来描述做了什么改动。可以在这个阶段键入任何想要的东西,但写一些描述性的东西更有用,它能在将来使你记起你做了什么。

$ git commit -m "Changed the HTML for the site."

注意:请确保使用双引号提交消息。

 

做完这些,上传改动到 Github:

git push

 

当我们需要删除暂存区分支上的文件, 同时工作区也不需要这个文件了, 可以使用

git rm file_name_or_path

 

当我们需要删除暂存区分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用

git rm --cache file_name_or_path

 

假设过一段时间. 我们邀请一些人加入我们github上的工程, 他们拉取了你的代码,并做了修改、提交。

检查并拉取远程Git库中的更改,运行:

git pull origin master

 

关于octocat的文件好像做了一些修改。看看跟上次提交相比,有什么更改,使用 git diff 命令。

在一般情况下,我们希望获取与最近一次提交的差异,参考使用HEAD指针。

git diff HEAD

 

diff的另一个重要用途是查看暂存区文件的变化。它告诉git需要添加哪些文件。使用 git add 文件 octofamily/octodog.txt存储到暂存区。

git add octofamily/octodog.txt

 

执行git diff --staged 查看暂存区中的改变。你可以看见 octodog.txt已经创建.

git diff --staged

 

octodog是octofamily文件中的一部分,与octodog文件相比octocat文件会更好,我们将会删除 octodog.txt.

使用git reset 命令删除更改,即删除文件octofamily/octodog.txt.

git reset octofamily/octodog.txt

 

octodog是octofamily文件中的一部分,与octodog文件相比octocat文件会更好,我们将会删除 octodog.txt.

使用git reset 命令删除更改,即删除文件octofamily/octodog.txt.

git reset octofamily/octodog.txt

 

使用git reset 将octodog.txt从暂存区中删除,但你在本地可以看到它还在所在文件夹中。你仅仅将它从暂存区中删掉。 如果我们能回到octodog创建之前的状态就好了。

通过使用以下命令可以将文件恢复到最近一次提交时的状态: git checkout -- <target>。去掉文件 octocat.txt自上一次提交的所有更改

git checkout -- octocat.txt

 

当开发人员正在研究一种功能或者修复bug时,他们通常会创建可以单独提交的代码副本(aka. branch)。然后,当完成功能或修复bug后,他们可以合并该分支回到master 分支。

我们要删除所有这些讨厌的octocat文件, 创建一个分支名叫 clean_up,并在那儿继续所有的工作:

git branch clean_up

 

输入git branch,你会看到两个本地分支:一个主分支命master和新的分支命名clean_up。

你可以切换分支使用git checkout <branch>。切换到分支 clean_up 使用:

git checkout clean_up

 

现在正处于 clean_up 分支。可以使用  git rm 命令删除所有的octocats文件,它将把本地的文件删除,删除暂存区中的文件。

你将会想要再一次使用通配符获取所有的octocats,并且 清除他们,继续运行:

git rm '*.txt'

 

现在你已经删除了所有你需要提交更改的cats。

运行 git status 检查你即将提交的更改。

git commit -m "Remove all the cats"

 

不错,你几乎完成了所有的cat操作...并且修复bug,切换到 master分支,将clean_up分支上的更改复制(或者 merge) 到master分支。

切换到 master 分支:

git checkout master

 

把clean_up分支的改变合并到  master分支。它非常简单。

现在已经在 master 分支上了,合并 clean_up 分支到主分支:

git merge clean_up

 

恭喜你!你首次成功解决冲突并合并代码,接下来就是删除 clean_up 分支。

使用 git branch -d <branch name> 删除分支。马上删除clean_up分支:

git branch -d clean_up

 

这是最后一步。现在剩下的是 push 所有的东西到远程仓库中。

git push

 

收集静态文件。

你可曾好奇,什么是"whitenoise"白噪音? 它是用来服务所谓的“static files”静态文件的工具。 静态文件是很少改动或者并非可运行的程序代码的那些文件,比如 HTML 或 CSS 文件。 在我们的计算机上,它们以不同的方式工作,我们需要比如“whitenoise”这样的工具来为其服务。

暂且我们只需要在服务器上运行一个额外的命令,就是 collectstatic。 它告诉 Django 去收集服务器上所有需要的静态文件。 就眼下来说主要是使admin管理界面看起来更漂亮的文件。

(myvenv) $ python manage.py collectstatic

 

You have requested to collect static files at the destination

location as specified in your settings:

 

/home/edith/my-first-blog/static

 

This will overwrite existing files!

Are you sure you want to do this?

 

Type 'yes' to continue, or 'no' to cancel: yes

键入 "yes", 然后它会自行运转!

 

 

 

推送时出现错误:

To https://git.coding.net/sunpeng95/pos--web.git

 ! [rejected]        master -> master (fetch first)

error: 无法推送一些引用到 'https://git.coding.net/sunpeng95/pos--web.git'

提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外

提示:一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更

提示:(如 'git pull ...')。

提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。

解决方法:

在.gitignore文件中添加需要忽略的内容比如: .idea

git push -u origin +master

分享到:
评论

相关推荐

    向GitHub提交代码1

    这一过程通常包括安装Git、配置Git、生成SSH密钥、绑定SSH公钥到GitHub账户、创建或克隆仓库以及提交和推送代码。 首先,要进行Git的安装,可以从Git官方网站下载安装包并完成安装。安装完成后,通过运行`git --...

    将本地代码推送到GitHub:一份详尽的指南

    #### 七、推送代码到GitHub 最后一步是将本地仓库中的代码推送到GitHub仓库。 1. **推送代码**:使用`git push`命令将本地代码推送到GitHub。 ```bash git push -u origin main ``` 这里,`-u`参数用于设置...

    如何在github上传代码(图解)

    6. **推送更改到远程仓库**: - 使用`git push origin master`命令将更改推送到远程仓库,可能需要输入GitHub账号的用户名和密码进行身份验证。 ``` git push origin master ``` 通过以上步骤,您可以在GitHub...

    GitHub Desktop

    9. **权限与访问控制**:根据你的GitHub账户权限,GitHub Desktop会限制你能执行的操作,如推送更改或管理仓库。 10. **持续集成与部署**:尽管不直接处理CI/CD流程,但GitHub Desktop可以与Jenkins、Travis CI等...

    本地代码提交到GitHub步骤.docx

    最后,使用`git push`命令将本地的更改推送到GitHub远程仓库。第一次推送时,需要指定上游分支,使用`-u`选项连接到`origin`(默认的远程仓库名称)的`master`分支: ```bash git push -u origin master ``` 在...

    github 解决推拉代码提示 REMOTE HOST IDENTIFICATION HAS CHANGED 失败.rar

    这个错误通常发生在尝试推送或拉取代码时,它表明Git无法验证远程主机的身份,因为其指纹(SSH key)发生了变化。这个问题可能是由于安全更新、重装系统或者首次连接新环境导致的。下面我们将深入探讨这个问题的原因...

    将vs2017的项目推送到github上的步骤1

    1. **权限问题**:如果你在推送代码时遇到权限错误,可能是因为URL格式不正确。参考提供的链接(https://blog.csdn.net/dw33xn/article/details/79951714),你需要将URL更改为使用SSH密钥的形式,例如 `git@github....

    github镜像 代码 入门

    为了解决这个问题,许多组织和机构提供了GitHub的国内镜像服务,这些镜像站点会实时同步GitHub上的仓库,使得开发者在国内可以快速地获取和推送代码。 一、Git基础 1. 安装Git:首先,你需要在本地安装Git,这可以...

    GithubContrib:托盘应用程序,提醒您每天推送至Github

    描述中提到,这个托盘应用程序是为了提醒用户每天向GitHub推送代码而设计的。这暗示了开发者的持续贡献习惯对于项目或个人的GitHub活动记录的重要性。"我很难让它为我工作"可能是指作者之前尝试过类似的应用,但遇到...

    GitHub for Windows离线安装包

    - **代码仓库管理**:用户可以直接在客户端上创建、克隆、推送和拉取代码仓库,无需打开网页浏览器。 - **协作与同步**:客户端支持查看提交历史、合并分支、解决冲突,方便团队间的代码协作和同步。 - **问题...

    GitHub 客户端

    2. **代码托管**:GitHub 客户端使开发者能够便捷地上传、下载项目代码,同时支持对仓库的克隆、拉取和推送操作。这使得团队成员可以在本地工作,然后将更改同步到云端仓库,实现代码的集中托管。 3. **协作功能**...

    github上传代码.docx

    6. 推送本地更改到 GitHub:`git push -u origin master` 完成上述步骤后,你的代码将出现在 GitHub 上对应的仓库中。如果需要更新代码,只需重复提交和推送过程。 【敏感信息的处理】 如果不小心将敏感信息(如...

    利用git从github上拉取项目

    在实际开发中,你还会遇到分支管理、合并冲突、提交和推送等操作,这些都是Git的常用功能。通过不断的实践,你会更加熟练地掌握Git,并能高效地进行项目协作。记得定期查看官方文档或在线教程,了解Git的最新特性和...

    go github(使用github)

    创建项目仓库(repository)是第一步,之后用户可以将本地的Git仓库推送到GitHub上,或者从GitHub上克隆(clone)仓库到本地。 项目托管是GitHub的核心功能之一。用户可以创建公开或者私有的仓库来管理自己的项目。...

    代码托管Eclipse插件--Egit使用(GitHub)

    1. **Pull Request**:在GitHub上,开发者通常不会直接向主分支推送代码,而是创建一个新的分支,完成功能后发起Pull Request,由其他成员审查代码,确保质量后再合并。 2. **代码审查**:Egit结合GitHub的Pull ...

    GitHub,代码管理的黄金标准!.zip

    然后,将代码推送到GitHub仓库中,并与其他开发者协作。 GitHub适用于多种实际应用场景,如个人项目、团队项目、开源项目和企业级应用。在实际应用中,GitHub可以大大提高开发效率,并促进团队的协作。 总的来说,...

    github安装包.zip

    通过 GitHub Desktop,你可以轻松地创建新的仓库,克隆现有仓库,提交更改,管理分支,合并冲突,以及推送代码到远程仓库。它还支持实时的代码预览和团队协作功能,如提拉请求(Pull Request)和代码审查。 3. **...

    GitHub的使用方法

    GitHub是一个基于Git的版本控制和...以上步骤展示了GitHub的基本使用方法,包括安装配置、仓库创建、代码克隆、文件编辑、代码提交和远程推送等操作,通过这些步骤,开发者可以开始在GitHub上进行项目的管理与合作。

    解决fatal:remote error:You can't push to git://github.com/username/*.git问题的办法

    这通常意味着您试图向GitHub推送代码,但因为使用的协议不支持写入操作,导致推送失败。本文将深入探讨这个问题的原因以及解决方法。 首先,错误提示中的`git://`前缀表明您当前使用的是Git的HTTP/HTTPS协议,这种...

Global site tag (gtag.js) - Google Analytics