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)
$

git新手使用教程包含各种系统的更多相关文章

  1. Git新手上路,让你快速掌握Git的基本使用

    github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.这对于一般人来说公共仓库就已经足够了. 1.注册账户以及创建仓库     要想 ...

  2. 【LaTeX】E喵的LaTeX新手入门教程(6)中文

    假期玩得有点凶 ._.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的LaTeX新手入门教程(3)数学公式 ...

  3. 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...

  4. 【LaTeX】E喵的LaTeX新手入门教程(1)准备篇

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...

  5. 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版

    换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{ar ...

  6. 【LaTeX】E喵的LaTeX新手入门教程(3)

    [LaTeX]E喵的LaTeX新手入门教程(3) 数学公式作者: 郭英东.sty 昨天熄灯了真是坑爹.前情回顾 [LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新 ...

  7. GIT GUI简易教程

    GIT GUI简易教程 前言 之前一直想一篇这样的东西,因为最初接触时,我也认真看了廖雪峰的教程,但是似乎我觉得讲得有点多,而且还是会给我带来很多多余且重复的操作负担,所以我希望能压缩一下它在我工作中 ...

  8. 安卓自动化测试(2)Robotium环境搭建与新手入门教程

    Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...

  9. Django新手图文教程

    Django新手图文教程 本文面向:有python基础,刚接触web框架的初学者. 环境:windows7   python3.5.1  pycharm专业版  Django 1.10版 pip3 一 ...

随机推荐

  1. Linux 权限管理篇(一)

    可读        r 可写        w 可执行        x 档案属性: 第一栏:执行list -al后第一栏的十个标志[1 - 10] 1: d    目录 -    档案 l    连 ...

  2. alg-最长不重复子串

    class Solution { public: int lengthOfLongestSubstring(const std::string& s) { int max_length = 0 ...

  3. spring singleton实例中的变量怎么保证线程安全

    pring中管理的bean实例默认情况下是单例的[sigleton类型],就还有prototype类型按其作用域来讲有sigleton,prototype,request,session,global ...

  4. SwiftUI - 一步一步教你使用UIViewRepresentable封装网络加载视图(UIActivityIndicatorView)

    概述 网络加载视图,在一个联网的APP上可以讲得上是必须要的组件,在SwiftUI中它并没有提供如 UIKit 中的UIActivityIndicatorView直接提供给我们调用,但是我们可以通过 ...

  5. Map使用foreach遍历方式,Map获取第一个键值

    List<Map<String, Object>> mapList = new ArrayList<>();  for (Map.Entry<String,O ...

  6. Daily Scrum 12/17/2015

    Process: Zhaoyang:完成了相册图片的异步加载. Yandong&Dong:   对Azure的体系架构进行学习和相应的编程. Fuchen:   对Oxford计划中的NLP接 ...

  7. JavaScript基础笔记1220

    JavaScript笔记1.JavaScript关键词2.JavaScript标识符 必须以字母,下划线(_)或美元符($)开始. 后续的字符可以是字母.数字.下划线或者美元符 (数字是不允许作为首字 ...

  8. idea ------- 源码调试运行

    1.创建一个 想学 的 ,使用单步调试进行一步步学习 调整系统资源 单步调试 (F7) ,进入不了源码,调整idea 让我们可以进入底层学习 想要在源码里面添加注释,要将引用的源文件指向,我们刚才复制 ...

  9. 3. JS生成32位随机数

    function randomWord ( randomFlag,min,max ) { var str = " ", range = min, arr = ['0','1','2 ...

  10. 虎符ctf-MISC-奇怪的组织(看完官方题解,找到了)

    一道取证题,一整场比赛,基本就死磕了这一题 写的很乱,因为当时的思维就是那么乱,完全没有注意到出题人的提示, 还没做出来,没有找到关键key 那个人的real name 文档:虎符.note链接:ht ...