Git快速入门手册_201202

一.下载安装

https://git-scm.com/downloads
网盘下载链接: https://pan.baidu.com/s/16xpckuEBr7iSLg_0sk-D1Q 密码:d0uv

二.初始化仓库并作简单配置

创建项目目录:
$ mkdir learn_git

进入项目目录:
$ cd learn_git

查看目录内容:
$ ls -la
total 24
drwxr-xr-x 1 cdata 197121 0 12月  1 18:07 ./
drwxr-xr-x 1 cdata 197121 0 12月  1 18:07 ../

初始化目录:
$ git init
Initialized empty Git repository in C:/Users/cdata/learn_git/.git/

初始化之后就多了.git目录:
$ ls -al
total 28
drwxr-xr-x 1 cdata 197121 0 12月  1 18:11 ./
drwxr-xr-x 1 cdata 197121 0 12月  1 18:07 ../
drwxr-xr-x 1 cdata 197121 0 12月  1 18:11 .git/

配置仓库的用户和电子邮箱:
$ git config --global user.name "yaoxiaofeng"
$ git config --global user.email "[email protected]"
$ git config --global --list
user.name=yaoxiaofeng
user.email=[email protected]


三.完成一个最简单的git操作流程:工作区,暂存区,仓库

$ clear
$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

现在没有文件要提交,我们可以使用下面的命令来创建文件,也可以使用别的编辑器来编辑一个文件放到git的目录下:
$ pwd
/c/Users/cdata/learn_git

文件放进目录之后,再查看git仓库状态,显示我们刚刚创建的文件处于未追踪状态,并且告诉我们可以使用git add去追踪这个文件:
$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        learn_git.html

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


然后我们使用git add去将工作区的文件转化到暂存区,最后使用git commit 将暂存区的文件保存到git仓库。

3.1工作区,暂存区,git仓库的理解

工作区:我们修改的文件首先是在工作区的,此时文件状态为已修改状态。
暂存区:使用git add 之后将工作区的文件转换到暂存区,此时文件为已暂存
小技巧:可以使用git add .将所有已修改文件暂存
git仓库:使用git commit将文件从暂存区移动到了git仓库。

四.将本地仓库中的文件同步到远程GitHub

注册完github账号之后我们需要创建一个仓库,创建仓库的方式有两种,一种是从头新建一个仓库,另一种事fork别人的仓库。

4.1从头新建一个仓库

  • 点击右上角的+号

在这里插入图片描述

  • 创建仓库

在这里插入图片描述
创建仓库成功后,会有一些提示
在这里插入图片描述
这里建议使用ssh协议,因为使用https协议的话,在同步本地和远程仓库的时候可能每次都要输入github的用户名和密码,使用ssh的话只需要在第一次使用时配置公私钥就好了。

还会提示我们怎么push一个本地的仓库到远程仓库,如下:
在这里插入图片描述

  • 配置远程仓库
    给我们的本地仓库配置一个远程仓库,origin是远程仓库的一个名字,我们可以自定义,运行这条命令时,一定要在本地仓库的路径下:
git remote add origin [email protected]:yyaoxiaofeng/learn_git.git

检查远程仓库是否配置成功。

$ git remote
origin
  • 配置公私钥
$ ssh-keygen.exe -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/cdata/.ssh/id_rsa):
Created directory '/c/Users/cdata/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/cdata/.ssh/id_rsa
Your public key has been saved in /c/Users/cdata/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:PCcTutNXXJ4Ta+YTIv3eQwvAykY2F6j/t4HYRBqWZ+U [email protected]
The key's randomart image is:
+---[RSA 3072]----+
|          .  .   |
|         ...o    |
|        o+.+.Eo  |
|       +.=** o + |
|      . S.*.* O  |
|       o X+o.B + |
|      o o.oo .* .|
|       . . . o.= |
|            ..o o|
+----[SHA256]-----+

切换到公钥目录,使用cat查看公钥,然后复制公钥内容,切换到github页面,点击settings.

$ cd /c/Users/cdata/.ssh/

$ ls
id_rsa  id_rsa.pub

$ cat id_rsa.pub

在这里插入图片描述
在Add SSH key中将我们复制的key粘贴进来。
在这里插入图片描述
测试本地和远程的github是否可以建立连接:

$ ssh -T [email protected]
The authenticity of host 'github.com (198.19.13.19)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,198.19.13.19' (RSA) to the list of known hosts.
Hi yyaoxiaofeng! You've successfully authenticated, but GitHub does not provide shell access.

验证成功后切换回我们的github仓库:

$ cd learn_git/

$ pwd
/c/Users/cdata/learn_git

推送本地仓库到github仓库:

$ git push -u origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 223 bytes | 44.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:yyaoxiaofeng/learn_git.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

验证是否推送成功

新建仓库提交流程总结
1.修改本地文件
2.git add learn_git.html
3.git commit -m “web3.0”
4.git push -u origin master

4.2 Fork别人的仓库

流程

  • 先将本仓库 Fork 到自己 GitHub 账号下。
  • 将 Fork 后的仓库 Clone
    到本地,然后在本地仓库中对应周的目录下新建或修改自己的代码作业,当周的学习总结写在对应周的README.md文件里。
  • 在本地仓库完成作业后,push 到自己的 GitHub 远程仓库。
  • 最后将远程仓库中当周的作业链接,按格式贴到班级仓库对应学习周的issue下面。
    第一步:fork
    在这里插入图片描述
    什么是fork:
    就是复制一份别人github的仓库到自己的github账号下,但是两个仓库是独立的,就是说一个修改后,另一个并不跟着修改。

Fork之后用户名就成了我当前登录的用户名,还会显示这个仓库fork自哪里。
在这里插入图片描述
第二步:克隆到本地
fork好的仓库,不能直接在网页上进行编辑,而需要colo到本地,然后本地编辑好之后再push到github远程仓库。
在这里插入图片描述
注意千万不要在一个已经存在的git仓库里面运行git clone命令

执行clone命令

$ pwd
/c/Users/cdata
$ git clone [email protected]:yyaoxiaofeng/algorithm021.git
Cloning into 'algorithm021'...
Warning: Permanently added the RSA host key for IP address '192.30.255.113' to the list of known hosts.
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 13 (delta 2), reused 1 (delta 0), pack-reused 0
Receiving objects: 100% (13/13), done.
Resolving deltas: 100% (2/2), done.

进入克隆好的目录中查看有哪些文件

$ cd algorithm021/

cdata@DESKTOP-3533HED MINGW64 ~/algorithm021 (main)
$ ls
README.md  Week_02/  Week_04/  Week_06/  Week_08/  Week_毕业总结/
Week_01/   Week_03/  Week_05/  Week_07/  Week_09/

cdata@DESKTOP-3533HED MINGW64 ~/algorithm021 (main)
$ ls -l
total 4
-rw-r--r-- 1 cdata 197121 1284 12月  2 09:56 README.md
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_01/
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_02/
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_03/
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_04/
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_05/
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_06/
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_07/
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_08/
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_09/
drwxr-xr-x 1 cdata 197121    0 12月  2 09:56 Week_毕业总结/

测试提交功能
先修改一些文件,然后add,commit

$ git add .

cdata@DESKTOP-3533HED MINGW64 ~/algorithm021 (main)
$ git commit -m "week01作业"

push到远程仓库

git push -u origin main
或者:
git push -u origin master

注意:前提是自己已经设置 好了本仓库ssh的公私钥,方法和上一章的方法一样。

然后就可以在远程仓库中找到push好的文件。最后将文件连接复制到作业路径,实际中可以是一个开源项目的issues里,如果代码写得好就可以被项目管理者采纳。

猜你喜欢

转载自blog.csdn.net/a18829292719/article/details/110442407