• Git简介,GitHub与Git区别,Git与SVN区别:Git简介 Git与GitHub区别和关系
  • Git官网下载(国内超慢):Git官网下载
  • Git淘宝镜像(下载非常快):Git淘宝镜像

 

下面使用示例,演示如何新建GitHub远程仓库?Git提交代码到GitHub?又如何从GitHub获取代码到本地?

1. GitHub新建远程仓库

登陆 GitHub账号,左上角 Repositories 点击 New,新建一新仓库。

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区

 

填入仓库信息。

 

shell拉取gitlab代码 git bash拉取代码到本地_github_02

 

  • Owner 选择所有者,即管理人。
  • Repository name 输入仓库名称。
  • Description输入说明。
  • Pubilc/Private 选择公开/私有,Pubilc所有GitHub成员都可以访问,Private只有自己及指定成员才可以访问。

填写好后,点击左下角 Creat repository

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区_03

 

  • 生成远程库链接,把它复制下来。

 

2. Git本地仓库初始化

 

  • Git结构:

工作区:写代码

暂存区:临时存储

本地库:历史版本

 

2.0 打开Git

在需要管理的代码目录文件夹中,右键 - Git Bash Here

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区_04

 

2.1 git init

  • 功能

git init:初始化一个新本地仓库,它会在工作目录下生成一个.git的隐藏文件夹来管理仓库,千万不要删掉它。

 

shell拉取gitlab代码 git bash拉取代码到本地_shell拉取gitlab代码_05

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区_06

 

2.2 git status

  • 功能

git status:查看工作区、暂存区的文件状态。

字体颜色红色未添加到暂存区的文件。

字体颜色绿色添加到暂存区的文件。

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区_07

 

2.3 git config user.name,git config user.email

用户签名设置

  • 用户签名设置。项目/仓库级别。仅在当前本地库目录范围有效。

git config user.name:查看用户签名。

git config user.email:查看用户签名。

git config user.name  xuserName:设置用户签名 xuserName。

git config user.email  xuserEmail:设置用户签名 xuserEmail。

  • 用户签名设置。系统用户级别。当前操作系统的用户。

git config --global

git config --global

  • 级别优先级

项目/仓库级别 优先于 系统用户级别。

如果没有 项目/系统签名,会使用系统用户签名。

不能两者都没有。

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区_08

 

2.4 git add

  • 功能

git add:将工作区中  新建/修改/删除的文件内容,添加到暂存区。

  • 参数列表

git add -A:提交所有变化( -A  ==  --all )

git add -u:提交被修改(modified)和被删除(deleted)的文件,不包括新文件(new)。( -u  ==  --update)

git add . :提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

git add <path> :等同于 git add .

 

git add -h:git add 查看帮助,git add --help可以查看更详细内容

 

这里我们使用 git add -A。接着使用 git status 去查看哪些被添加到了暂存区。

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区_09

 

2.5 git commit

  • 功能

git commit:将暂存区的内容提交到本地库。

  • 参数列表

git commit [fileName] :将暂存区中的 [fileName] 文件,提交提交到本地库。(需要在弹出的vim中添加提交消息)

git commit :将暂存区的所有文件提交到本地库。(需要在弹出的vim中添加提交消息)

git commit -m "commit message" :将暂存区的所有文件提交到本地库。(命令行中输入提交消息直接提交)

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区_10

shell拉取gitlab代码 git bash拉取代码到本地_git_11

 

git commit 提交本地库后, git status 提示没有什么需要提交的了,因为文件已经被提交过了。

之后便可将此分支,上传GitHub托管。

 

3. 本地提交代码到GitHub远程仓库

3.1 git remote

  • 功能

git remote 创建远程库地址别名

  • 参数列表

git remote -v:查看当前所有远程地址别名

git remote add [别名] [远程地址链接]:创建远程库地址别名(以后就可以使用别名直接push、pull了)

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区_12

 

fetch地址用来取回代码,push地址用来推送

 

3.2 git push

  • 功能

git push:将本地版本库的分支推送到远程服务器上对应的分支。

  • 参数列表

git push [别名] [分支名]:本地版本库的分支推送到远程服务器上对应的分支。

(需要在弹出窗口填入自己GitHub账号和密码)

 

shell拉取gitlab代码 git bash拉取代码到本地_github_13

shell拉取gitlab代码 git bash拉取代码到本地_shell拉取gitlab代码_14

 

提交服务器成功,重新查看云端仓库,代码已同步到GitHub。文件夹中的 README.txt 会默认在下方显示。

 

shell拉取gitlab代码 git bash拉取代码到本地_本地库_15

 

修改过 README.txt 文件后,push再次推送的过程:

 

shell拉取gitlab代码 git bash拉取代码到本地_本地库_16

 

shell拉取gitlab代码 git bash拉取代码到本地_暂存区_17

 

与上面第一次push对比,内容发生了改变。

 

4. 从GitHub远程仓库获取代码

4.1 git clone

  • 功能

git clone [远程地址]:将远程库代码完整的下载到本地。(不需要提前 git init操作)

看到别人有比较好的开源项目想要获取下来,无需进行 git init ,直接 git clone [远程地址]。clone会自动创建 .git文件和 origin 远程地址别名。(只有第一次拉取用 clone,以后都用 pull)

 

shell拉取gitlab代码 git bash拉取代码到本地_本地库_18

 

4.2 git pull

  • 功能:

拉取代码到本地。(只有第一次拉取用 clone,以后都用 pull)

git pull  [远程库地址别名]  [远程分支名]

pull = fetch + merge

 

shell拉取gitlab代码 git bash拉取代码到本地_github_19