Git Tutorial

1、下载客户端

从Git官网下载客户端:

 
https://git-scm.com/
 

Windows版下载地址:

 
https://git-scm.com/download/win
 

可以去 菜鸟教程 围观 Git 教程:

 
https://www.runoob.com/git/git-tutorial.html
 

查看Git版本

没有用过的同学,先把 Git 装上,可能需要配置环境变量,如果需要就配置一下。

只要能够通过以下命令查看 Git 版本即可:

 
git --version
2、代码托管平台

2.1、国内

  • 码云

 
https://gitee.com/
 
  • CODING

 
https://coding.net/
 

注册时需注意:

  • 账号中建议不要包含自己的 手机号 、QQ 等信息。

  • 国内平台绑定手机是免不了的 (国家要求的)

2.2、国外

  • Github

 
https://github.com/
 
  • GitLab

 
https://gitlab.com
 

建议使用国内平台,因为访问国外平台的速度太慢了。

3、码云

点击图中圈起来的位置打开个人设置:

在设置页面中点击 "SSH公钥":

在 "SSH公钥" 页面中点击 "怎样生成公钥" :

在本地生成公钥可以参照官方教程完成:

 
 
https://gitee.com/help/articles/4181#article-header0
 

或者查看这里:

 
https://gitee.com/help/categories/38
 

生成公钥以后,将公钥添加到 “SSH公钥” :

参照官方教程创建自己的第一个仓库:

 
https://gitee.com/help/categories/36
 

任务:

  • 以 码云 为例 学习代码托管平台的使用 ( 一定要要自己动手做起来 )

  • 将自己前端部分完成的练习作业推送到 新创建的仓库里

  • 根据其他同学提供的地址,将其他同学的 代码 克隆到 本机

注意:

  • 提交时需要注意在哪个目录下,提交哪个目录

  • 从远程克隆项目时要注意本地路径,别把自己代码覆盖了

3.1、先克隆再提交

Unix / Linux / macOS 操作系统中的操作

  • 0、配置本地的git配置信息

这个操作配置一次即可多次使用。

 
 
 
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"
 
  • 1、在 码云 创建仓库

 
https://gitee.com/help#article-header0
 
  • 2、将远程仓库clone到本地

 
git clone  远程仓库地址  [本地目录名称]
 

比如:

 
git clone git@gitee.com:mozicoding/test.git
 

可以将远程仓库克隆到本地,并在当前目录下创建一个名词为 test 的目录。

或者使用:

 
git clone git@gitee.com:mozicoding/test.git  hello
 

可以将远程仓库克隆到本地,并在当前目录下创建一个名词为 hello 的目录用于存放从远程仓库克隆的内容。

在克隆过程中,如果仓库是一个私有仓库,将会要求用户输入码云的账号和密码。按照提示输入即可

  • 3、创建文件

在 test 目录下创建一个名词为 hello.html 的文件,其中的内容:

 
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>测试</title>
    </head>
    <body>
    </body>
</html>
 
  • 4、将当前目录所有文件添加到 Git暂存区

 
git add .
 

注意最后的 圆点

( git add . 添加 新文件( new ) 和 被修改文件( modified ) 到 暂存区,但不包括被删除(deleted)的文件 )

  • 5、将 Git暂存区 里的改动给提交到本地的 版本库

git commit -m "my first commit"
 
  • 6、将本地提交推送到远程仓库

 
git push origin master
 
  • 7、查看工作区状态

 
git status
 

Windows 系统:

 
 
Administrator@A3AC MINGW64 /
$ # pwd 命令用于列出当前目录对应的路径
Administrator@A3AC MINGW64 /
$ pwd
/
Administrator@A3AC MINGW64 /
$ # ls 用于列出当前目录下的子项目 (比如子目录、文件)
Administrator@A3AC MINGW64 /
$ ls
bin/  dev/  git-bash.exe*  LICENSE.txt  proc/            tmp/
cmd/  etc/  git-cmd.exe*   mingw64/     README.portable  usr/
Administrator@A3AC MINGW64 /
$ # 在 Windows 环境下打开 Git 客户端后,命令行中的根目录就是 Git 安装目录
Administrator@A3AC MINGW64 /
$ # 使用 whoami 可以查看当前用
Administrator@A3AC MINGW64 /
$ whoami
Administrator
Administrator@A3AC MINGW64 /
$ # 使用 cd 命令可以快速切换到 当前用户主目录
Administrator@A3AC MINGW64 /
$ cd
Administrator@A3AC MINGW64 /
$ # 使用 pwd 命列出当前用户主目录
Administrator@A3AC MINGW64 ~
$ pwd
/c/Users/Administrator
Administrator@A3AC MINGW64 ~
$ # 在 Windows 环境下使用 命令行操作 Git 时,使用 /c 、/d 表示 C盘、D盘
Administrator@A3AC MINGW64 /
$ # 使用 cd 命列进入 D盘
Administrator@A3AC MINGW64 ~
$ cd /d
Administrator@A3AC MINGW64 /
$ # 使用 cd 命列进入 C盘
Administrator@A3AC MINGW64 /d
$ cd /c
Administrator@A3AC MINGW64 /
$ # 使用 cd 命令可以快速切换到 当前用户主目录
Administrator@A3AC MINGW64 /c
$ cd
Administrator@A3AC MINGW64 ~
$ pwd
/c/Users/Administrator
Administrator@A3AC MINGW64 /
$ # 使用 ssh-keygen 命令创建公钥
Administrator@A3AC MINGW64 ~
$ ssh-keygen -t rsa -C "zhangsanfeng@wudang.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
Created directory '/c/Users/Administrator/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:q8mjZGcxzNqmqSktjOmgXsC5biJyVKO8WrK/dbEY/KI zhangsanfeng@wudang.com
The key's randomart image is:
+---[RSA 3072]----+
|                 |
|                 |
|                 |
|. ..oo           |
| = oo.* S        |
|  *  * = .       |
|==.oB O .        |
|%*=* X.o         |
|@XEo+.+.         |
+----[SHA256]-----+
Administrator@A3AC MINGW64 ~
$ ls -a
 ./
 ../
 .bash_history
 .minttyrc
 .ssh/
 .tooling/
 「开始」菜单@
'3D Objects'/
 AppData/
'Application Data'@
 Contacts/
 Cookies@
 Desktop/
 Documents/
 Downloads/
 Favorites/
 Links/
Administrator@A3AC MINGW64 /
$ # 进入当前用户主目录下的 .ssh 目录内部
Administrator@A3AC MINGW64 ~
$ cd .ssh
Administrator@A3AC MINGW64 ~/.ssh
$ ls -l
total 5
-rw-r--r-- 1 Administrator 197121 2610  4月 21 21:16 id_rsa
-rw-r--r-- 1 Administrator 197121  577  4月 21 21:16 id_rsa.pub
Administrator@A3AC MINGW64 /
$ # 使用 cat 查看公钥
Administrator@A3AC MINGW64 ~/.ssh
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDIQxY2KtR9R29ScbctyzoPCVtZs6ITGEvxqAyBG8LSmlY5iwYOfOaWX2dNFI0W81gdPUJhqMN3zI7RC2WaDYrSSElID7yZ41sd/iTTqv6dX66HHGUlgE2e9le30NwC2+SjIeX+mdbZ2DAC8xVJrbiYoAHTRgk36f0CzxptY/ebsaKDc72syukLikc8VKoTHk5KFHvdQ9VxgCVazMMvKqtNoVoTtbglfpBoO9Fpqir5HhcmTnA4b7tdYaIISHHSs88P6YBZ3cIcAiRELf8n4Y6za23yeJWE8SAxTnM5qZjdb7ybKFPxqM43I9x3H0hiU4JfWF30WQ3ksVRgNGlxOK5GZu2wtIAShBuLlbz3FPFBYnxjkkecWrwlujUCbyJEl1w/JmVIapTbRIJmMMl2BpjxdBsoTIXjwduW5t7n/2Yn4jVodiCAsvl91PNQmiSD09QGc5+dvQ5v+k8WMP+wwjJSv1SWUwDQC4GFHJmvvE61bTii2lq1hvm8Uz2QLmdQhGM= zhangsanfeng@wudang.com
Administrator@A3AC MINGW64 ~/.ssh
$ # 重新返回到 D盘
Administrator@A3AC MINGW64 ~/.ssh
$ cd /d
Administrator@A3AC MINGW64 /d/hello (master)
$ git config --global user.email "zhangsanfeng@wudang.com"
Administrator@A3AC MINGW64 /d/hello (master)
$ git config --global user.name "zhangsanfeng"
Administrator@A3AC MINGW64 ~/.ssh
$ # 克隆远程仓库到本地
Administrator@A3AC MINGW64 /d
$ git clone git@gitee.com:mozicoding/hello.git
Cloning into 'hello'...
The authenticity of host 'gitee.com (212.64.62.174)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitee.com,212.64.62.174' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (6/6), 5.57 KiB | 2.79 MiB/s, done.
Administrator@A3AC MINGW64 ~/.ssh
$ # 列出 D盘 对应的目录下的子项目
Administrator@A3AC MINGW64 /d
$ ls
'$RECYCLE.BIN'/   front/   mythware/     'System Volume Information'/
 codes/           hello/   RmDownloads/   WebstormProjects/
Administrator@A3AC MINGW64 /d
$ # 进入到 hello 目录
Administrator@A3AC MINGW64 /d
$ cd hello
Administrator@A3AC MINGW64 /d/hello (master)
$ ls -la
total 33
drwxr-xr-x 1 Administrator 197121     0  4月 21 21:19 ./
drwxr-xr-x 1 Administrator 197121     0  4月 21 21:19 ../
drwxr-xr-x 1 Administrator 197121     0  4月 21 21:19 .git/
-rw-r--r-- 1 Administrator 197121   301  4月 21 21:19 .gitignore
-rw-r--r-- 1 Administrator 197121 11558  4月 21 21:19 LICENSE
-rw-r--r-- 1 Administrator 197121   985  4月 21 21:19 README.en.md
-rw-r--r-- 1 Administrator 197121  1356  4月 21 21:19 README.md
Administrator@A3AC MINGW64 /d
$ # 在 Windows 资源管理中创建一个 文件,比如 Hello.java 文件
Administrator@A3AC MINGW64 /d
$ # 将本地仓库中的文件添加到 Git暂存区 
Administrator@A3AC MINGW64 /d/hello (master)
$ git add .
Administrator@A3AC MINGW64 /d
$ # 从 Git暂存区 提交到 版本库
Administrator@A3AC MINGW64 /d/hello (master)
$ git commit -m "创建了一个Java源文件"
[master 815dc04] 创建了一个Java源文件
 1 file changed, 4 insertions(+)
 create mode 100644 Hello.java
Administrator@A3AC MINGW64 /d
$ # 查看工作区状态
Administrator@A3AC MINGW64 /d/hello (master)
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean
Administrator@A3AC MINGW64 /d
$ # 将本地版本库中的文件推送到远程仓库
Administrator@A3AC MINGW64 /d/hello (master)
$ git push origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 2 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 322 bytes | 322.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-5.0]
To gitee.com:mozicoding/hello.git
   a33fc42..815dc04  master -> master
Administrator@A3AC MINGW64 /d/hello (master)
$
 

3.2、先初始化本地再抓取修改或新建文件后最后再提交

Windows 系统中:

 
 
 
 
 
 
 
Administrator@A3AC MINGW64 /d
$ cd ecut
Administrator@A3AC MINGW64 /d/ecut
$ pwd
/d/ecut
Administrator@A3AC MINGW64 /d/ecut
$ git init   # 初始化本地仓库
Initialized empty Git repository in D:/ecut/.git/
Administrator@A3AC MINGW64 /d/ecut (master)
$ ls -a
./  ../  .git/
Administrator@A3AC MINGW64 /d/ecut (master)
$ # 设置远程仓库地址
Administrator@A3AC MINGW64 /d/ecut (master)
$ git remote add origin git@gitee.com:mozicoding/hello.git
Administrator@A3AC MINGW64 /d/ecut (master)
$ ls -a
./  ../  .git/
Administrator@A3AC MINGW64 /d/ecut (master)
$ git pull origin master  # 抓取远程仓库中的内容
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), 5.55 KiB | 203.00 KiB/s, done.
From gitee.com:mozicoding/hello
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
Administrator@A3AC MINGW64 /d/ecut (master)
$ ls -la
total 33
drwxr-xr-x 1 Administrator 197121     0  4月 21 21:46 ./
drwxr-xr-x 1 Administrator 197121     0  4月 21 21:41 ../
drwxr-xr-x 1 Administrator 197121     0  4月 21 21:46 .git/
-rw-r--r-- 1 Administrator 197121   301  4月 21 21:46 .gitignore
-rw-r--r-- 1 Administrator 197121 11558  4月 21 21:46 LICENSE
-rw-r--r-- 1 Administrator 197121   985  4月 21 21:46 README.en.md
-rw-r--r-- 1 Administrator 197121  1356  4月 21 21:46 README.md
Administrator@A3AC MINGW64 /d/ecut (master)
$ 去 Windows 资源管理器中创建一个文件,比如 index.html 之类的
Administrator@A3AC MINGW64 /d/ecut (master)
$ ls -la
total 37
drwxr-xr-x 1 Administrator 197121     0  4月 21 21:46 ./
drwxr-xr-x 1 Administrator 197121     0  4月 21 21:41 ../
drwxr-xr-x 1 Administrator 197121     0  4月 21 21:46 .git/
-rw-r--r-- 1 Administrator 197121   301  4月 21 21:46 .gitignore
-rw-r--r-- 1 Administrator 197121   969  4月 19 21:34 index.html
-rw-r--r-- 1 Administrator 197121 11558  4月 21 21:46 LICENSE
-rw-r--r-- 1 Administrator 197121   985  4月 21 21:46 README.en.md
-rw-r--r-- 1 Administrator 197121  1356  4月 21 21:46 README.md
Administrator@A3AC MINGW64 /d/ecut (master)
$ git add .  # 将 文件变动 添加 到 Git暂存区
Administrator@A3AC MINGW64 /d/ecut (master)
$ git commit -m "添加了一个HTML文件"   # 从 Git暂存区 提交到 版本库
[master f4aa900] 添加了一个HTML文件
 1 file changed, 35 insertions(+)
 create mode 100644 index.html
Administrator@A3AC MINGW64 /d/ecut (master)
$ git push -u origin master  # 将本地仓库中的变动推送到远程仓库
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 2 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 756 bytes | 378.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-5.0]
To gitee.com:mozicoding/hello.git
   7f9b3bb..f4aa900  master -> master
Administrator@A3AC MINGW64 /d/ecut (master)
$

最新文章

  1. javascript线程解释(setTimeout,setInterval你不知道的事)
  2. Fedora 17配置ssh及Windows远程连接
  3. 怪兽z主机标准版视频测试。
  4. [Java][activiti]Activiti这个过程委托功能[getAssignee()与getOwner()差异]
  5. [ACM] HDU 2295 Radar (二分法+DLX 重复覆盖)
  6. Java版求1000以内的完全数
  7. 线程高级篇-Lock锁和Condition条件
  8. MPSOC之7——开发流程uramdisk
  9. sql优化原则与技巧
  10. Linux实践篇--自动删除n天前日志
  11. windows下apache报os 10048错误
  12. .Net语言 APP开发平台——Smobiler学习日志:如何快速实现手机上的资源上传功能
  13. Vue子组件与父组件之间的通信
  14. WordPress分类列表函数:wp_list_categories用法及参数详解举例
  15. 转:Java项目开发规范参考
  16. Java驱动远程连接mongoDB(简明易懂版)
  17. C常量与控制语句
  18. android 应用程序中执行Linux 命令
  19. 【Docker】docker常用指令
  20. iOS: hide UITextField Cursor

热门文章

  1. 使用VirtualBox+Vagrant快速搭建Linux虚拟机环境
  2. python3(二十六)slots
  3. Powershell检查邮件队列设置阈值,通过html形式进行邮件告警
  4. Docker之hello world
  5. c++存储区
  6. x聊之后,又一波新的诈骗套路
  7. Java成长第三集--基础重点详细说明
  8. 怎么快速学python?酒店女服务员一周内学会Python,一年后成为程序员
  9. linux 下强大的 JSON 解析命令 jq
  10. C - Sigma Function LightOJ - 1336 (数论)