基本操作:vscode-git使用和命令

 

  1. Git简介
    GIt /git/ 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到很大的项目版本管理;
     通俗的说,解决的问题是: 正常开发,一个团队需要很多人来共同开发一个项目,那么就涉及到代码的合并;比如两个人,同时更改了一处代码,如何进行合并;以及新加入的同事,如何下载代码进行继续开发;
 

  1. GIt的工作流;
 
    Git分为3个部分,远程仓库(remote),本地仓库(repository),工作区(workspace);
     远程仓库存放的就是最终代码,本地仓库(repository)存放是本地提交的代码,工作区(workspace)才是存放直接进行编辑的代码;
 
     正常的工作流,当你新加入一家公司继续开发;那么我们需要先从 远程仓库进行 clone 代码到 repository,然后进行 检出(check out)到workspace,然后在 workspace进行编写代码;如进行添加 add 到索引,然后需要 commit 提交到 本地仓库; 最后需要 push到远程仓库;
      每天工作开始,都需要pull 代码;是从远程仓库,把别人已经修改的代码,下载代码到工作区;    
 

 
安装Git,
 
GitHub
GitHub,用于代码管理,可以创建远程仓库,
网页打开GitHub,登录账号,并创建 repository; 记录下地址,用于之后笔记本中的Git来访问并clone代码;

 

 

 
 
Git操作
1、clone到本地
 
安装完Git后,邮件出现  Git Bash Here,出现Git的命令行;
 
配置用户名:
12593@DESKTOP-URQA38F MINGW64 ~
$ git config --global user.name 'LeiGongXXX'
配置邮箱:
12593@DESKTOP-URQA38F MINGW64 ~
$ git config --global user.email 'XXX57@qq.com'
 
clone代码
12593@DESKTOP-URQA38F MINGW64 ~
$ cd "D:\01_VSCode Script"
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script
$git clone 'https://github.com/LeiGongXXX/C_Script.git'
Cloning into 'C_Script'...
warning: You appear to have cloned an empty repository.
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script
$
//因为现在远程仓库中是空的,所以提示为 “empty repository”

 

现在D:\01_VSCode Script目录下,就有了之前在GitHub中创建的repository了;
我们通过VSCode打开这个文件夹即可;
 
vscode编写脚本后,需要上传;
2、add
进入到对于的repository,会有提示 "master"
 
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script/C_Script (master)
$ pwd
/d/01_VSCode Script/C_Script
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script/C_Script (master)
$ git add 11求两数之和.c
 
3、commint
一定要加参数 -m,用于提交描述信息;
 
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script/C_Script (master)
$ git commit -m 'add 11求两数之和'
[master (root-commit) 10486ce] add 11求两数之和
 1 file changed, 17 insertions(+)
 create mode 100644 "11\346\261\202\344\270\244\346\225\260\344\271\213\345\222\214.c"

 

 
4、push到 github
 
但是 8月13号之后必须用ssh keys作为验证的token; 使用账号密码没法push了;
你原先的密码凭证从2021年8月13日开始就不能用了,必须使用个人访问令牌(personal access token),就是把你的密码替换成token!
 
 
设置公钥:
  
选择权限,并生成令牌:
 
 
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script/C_Script (master)
$ git push
Logon failed, use ctrl+c to cancel basic credential prompt.
Username for 'https://github.com': XXX7@qq.com
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 558 bytes | 558.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/LeiGong2019/C_Script.git
 * [new branch]      master -> master
//提示到master分支上了;

 

 
第一次弹框,输入邮箱和key没成功,第二次在git命令行输入邮箱和key成功了;
成功后,在github上就能看到脚本了;
 
 
一次性提交该目录下所有代码;
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script/C_Script (master)
$ pwd
/d/01_VSCode Script/C_Script
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script/C_Script (master)
$ git commit -m 'c'
[master 22220f2] c
 12 files changed, 293 insertions(+)
 create mode 100644 "12\346\261\2022\344\270\252\346\225\260\344\270\255\350\276\203\345\244\247\350\200\205.c"
 create mode 100644 "13\346\257\224\350\276\2033\344\270\252\346\225\260\344\270\255\350\276\203\345\244\247\350\200\205.c"
 create mode 100644 "14\350\276\223\345\205\245very good.c"
 create mode 100644 "21\346\261\2025!.c"
 create mode 100644 "22A\357\274\214B\344\272\222\346\215\242\345\206\205\345\256\271.c"
 create mode 100644 "23\344\276\235\346\254\241\350\276\223\345\205\24510\344\270\252\346\225\260\357\274\214\350\276\223\345\207\272\350\276\203\345\244\247\350\200\205.c"
 create mode 100644 "30\344\273\213\347\273\215"
 create mode 100644 "41\345\276\252\347\216\257 \345\210\244\346\226\255200\344\273\245\345\206\205\347\232\204\347\264\240\346\225\260.c"
 create mode 100644 "42 \345\276\252\347\216\257 \345\210\244\346\226\255\346\237\220\344\270\200\345\271\264\346\230\257\345\220\246\344\270\272\351\227\260\345\271\264.c"
 create mode 100644 "43 \345\276\252\347\216\257 \346\260\224\346\263\241\346\263\225\346\257\224\350\276\203\345\244\232\344\270\252\346\225\260\345\244\247\345\260\217.c"
 create mode 100644 "51 \351\200\222\345\275\222 \346\261\211\350\257\272\345\241\224\351\227\256\351\242\230.c"
 create mode 100644 "52 \351\200\222\345\275\222 \344\270\252\344\272\272\347\220\206\350\247\243hanoi_personal.c"
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script/C_Script (master)
$ git push
Enumerating objects: 15, done.
Counting objects: 100% (15/15), done.
Delta compression using up to 4 threads
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 4.23 KiB | 867.00 KiB/s, done.
Total 14 (delta 0), reused 0 (delta 0)
To https://github.com/LeiGongXXX/C_Script.git
   10486ce..22220f2  master -> master

  


获取代码;
1、pull
2、checkout
 
1、pull;
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script/C_Script (master)
$ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/LeiGongXXX/C_Script
   22220f2..bb4a0a8  master     -> origin/master
Updating 22220f2..bb4a0a8
Fast-forward
 "11\346\261\202\344\270\244\346\225\260\344\271\213\345\222\214.c" | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

 

2、checkout
检出,是用来检出分支;
另外,比如本地误删除文件,可以使用git checkout XX.c 找回;
 
12593@DESKTOP-URQA38F MINGW64 /d/01_VSCode Script/C_Script (master)
$ git checkout 11求两数之和.c

 

posted @ 2022-06-15 17:37  凡事预则立,不预则废  阅读(976)  评论(0编辑  收藏  举报