Git命令上传项目代码到github

注:以下的操作都是在linux系统上进行的

1、注册github账户以及创建仓库
2、安装Git
  • 打开控制台,然后通过包管理安装,在Ubuntu上输入命令
sudo apt-get install git-all
3、配置Git
(1)本地创建ssh key
  • 以下代码中your_email为你的邮箱,即你在github上注册的那个邮箱。之后一路回车,最后会在会在默认文件id_rsa上生成ssh key。打开id_rsa.pub,复制里面的key,然后回到github网站的settings,选择SSH Keys,Add SSH Key,title随便填,粘贴key,然后点击 Add key 按钮。
ssh-keygen -t rsa -C “your_email”
(2)验证是否连接成功
  • 输入以下命令验证是否连接成功,如果成功连接github会看到以下结果:
ssh -T git@github.com
You’ve successfully authenticated, but GitHub does not provide shell access 
(3)配置用户的用户名和email(这些内容会出现在你的每一个提交(commit)里面)
  • Git配置信息分为全局项目两种,以下带“–global”参数的命令是全局配置,它会影响本机上的每一个Git项目。
git config --global user.name "xueyiming"
git config --global user.email "xueyimingshdx@126.com"
  • Git也可以为每个项目设定不同的配置信息,在命令行环境,进入Git项目所在目录,执行下面的命令(这个命令要在下面git init之后执行,否则没有.git文件夹)
 git config user.name "your xueyiming"
 git config user.email "xueyimingshdx@126.com"
  • Git的全局配置文件是存放在”~/.gitconfig”(用户目录下的.gitconfig)文件中,我们用cat、head命令查看全局配置信息文件 。(如果对于Git熟悉后,可以直修改”~/.gitconfig”,”.git/config”这两个文件进行配置)
4、上传项目代码到github - 本地操作
(1)创建新仓库 - git init
  • git 会把所有文件以及历史记录保存在你的项目中,创建一个新的仓库,首先要去到项目路径,执行 git init。然后git会创建一个隐藏的文件夹.git,所有的信息都储存在其中。
cd your/path
git init
(2)检查状态 - git status
  • git status 是另一个非常重要的命令,它会告诉我们创库的当前状态:是否为最新代码,有什么更新等等。(Untracked files是指尚未追踪的文件)
duchenting@server005-W560-G20:~/dct/xueyiming$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .gitignore
    new.log

nothing added to commit but untracked files present (use "git add" to track)
(3)工作流说明
  • 你的本地仓库由 git 维护的三棵“树”组成。第一个是你的工作目录,它持有实际文件;第二个是缓存区(Index),它像个缓存区域,临时保存你的改动;最后是HEAD,指向你最近一次提交后的结果。
(4)暂存 - git add
  • git 有个概念叫缓存区,你可以把它看成一块空白帆布,包裹着所有你可能会提交的变动。它一开始为空,你可以通过 git add 命令添加内容,并使用 git commit 提交。
git add new.log
git add .ignore
  • 如果要暂存当前目录下的所有内容。
git add -A
  • 再次使用git status查看。我们的文件已经提交了,状态信息还会告诉我们暂存区文件发生了什么变动,不过这里我们提交的是两个全新文件。
duchenting@server005-W560-G20:~/dct/xueyiming$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   .gitignore
    new file:   new.log
(5)提交 - git commit
  • 一次提交代表着我们的仓库到了一个交付状态,通常是完成了某一块小功能。它就像是一个快照,允许我们像使用时光机一样回到旧时光。创建提交,需要我们首先提交东西到暂存区(git add),之后执行:
git commit -m "initial commit"
  • 这就创建了一次提交,-m “Initial commit.”表示对这次提交的描述,建议使用有意义的描述性信息。现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。
5、上传项目代码到github - 远端仓库操作
(1)远端仓库说明
  • 到目前为止,我们的操作都是在本地的,它存在于.git文件中。为了能够协同开发,我们需要把代码发布到远端仓库上。
(2)链接远端仓库 - git remote add
  • 为了能够上传到远端仓库,我们需要先建立起链接,远端仓库地址使用自己的即可。一个项目可以同时拥有好几个远端仓库为了能够区分,通常会起不同的名字。通常主远端仓库被称为origin。
git remote add origin https://github.com/BeginAgainX/Test.git
(3)上传到远端仓库 - git push
  • git push命令会有两个参数,远端仓库的名字,以及分支的名字(这里可以把 master 换成你想要推送的任何分支)
git push origin master
(4)克隆仓库 - git clone
  • 放在Github上的开源项目,人们可以看到你的代码。可以使用 git clone进行下载到本地。本地也会创建一个新的仓库,并自动将github上的分支设为远端分支。
git clone https://github.com/BeginAgainX/Test.git
(5)从服务器上拉取代码 - git pull
  • 如果你更新了代码到仓库上,其他人可以通过git pull命令拉取你的变动.
git pull origin master
6、分支
(1)分支简介
  • 分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”。在其他分支上进行开发,完成后再将它们合并到主分支上。这样做的原因是:
  • 稳定版本的代码不会被破坏
  • 不同的功能可以由不同开发者同时开发
  • 开发者可以专注于自己的分支,不用担心被其他人破坏了环境
  • 在不确定之前,同一个特性可以拥有几个版本,便于比较

(2)创建新分支 - git branch
  • 每一个仓库的默认分支都叫master, 创建新分支可以这样:
git branch feature_x
(3)切换分支 - git checkout
  • 单独使用git branch,可以查看分支状态:
git branch
    • 号表示当前活跃分支为master,使用git checkout切换分支.
git checkout feature_x
(4)合并分支 - git merge
  • 我们的 feature_x 分支的任务是增加一个featuer.txt。我们来创建,添加到暂存区,提交。
git add feature.txt
git commit -m "New feature complete."
  • 新分支任务完成了,回到master分支。
git checkout master
  • 现在去查看文件,你会发现,之前创建的feature.txt文件不见了,因为master分支上并没有feature.txt。使用git merge 把 amazing_new_feature 分支合并到master上。
git merge amazing_new_feature
git commit -m "New feature complete."
  • 然后再把amazing_new_feature 分支删掉。
git branch -d feature_x
参考内容

使用Git上传项目代码到github
30 分钟 git 命令入门到放弃
为你的仓库自动创建.gitignore
如何创建.gitignore文件,忽略git不必要提交的文件
github如何删除一个repository(仓库)
git - 简易指南

常见问题解决方法

Git 提示fatal: remote origin already exists 错误解决办法
执行git push出现”Everything up-to-date”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值