0.生成ssh(具体操作看SSH界面里的生成密钥说明)

在git bush中输入

ssh-keygen -t rsa -C "your.email@example.com" -b 4096

命令来创建ssh密钥(具体到每个人的邮箱)

会提示保存密钥的文件(公钥),键入回车,y回车,可以不设置密码,成功生成密钥

大概如下图(这张图ssh-keygen应该改成上面的代码)

vscode 登陆gitlab_vscode 登陆gitlab

 

 生成的ssh公钥去之前设置的地址(//.ssh/id_rsa)中查找pub文件,然后把pub文件用记事本打开,复制到ssh需求处

1.在相应平台上新建仓库,然后按照给出的代码操作进行(在需要提交到仓库的文件夹中右键进行gitbush)

首先要进行git的全局设置,这一步在git bush中进行;

 

 

 

设置完毕后可以使用

git config --list

命令来查看是否设置成功(username和email)

2.在vscode终端中如果输入git命令出现git命令无法识别或不是批处理的情况,需要配置环境变量,具体是在上下两个Path中加上git安装目录下到bin文件夹的位置,即...\Git\bin(具体可以搜一下,网上有相关配置教程)

3.常用命令

git init          //初始化本地git仓库(创建新仓库)

git status    //查看当前版本状态(是否修改)

git branch     //查看本地所有分支

git branch -a       // 查看所有分支

git branch -r        // 查看远程所有分支

git branch [name]        //创建本地分支

git push origin [name]      //创建远程分支(本地分支push到远程)

git checkout [name]     // 切换分支

git merge [name]         //合并分支

git branch -d [name]      // 删除分支

git push -u origin master      //推送文件(推送文件要先把代码库中的文件pull到本地代码中,使用git pull --rebase

origin master)

git diff        // 查看尚未暂存的更新

git commit        //将暂存区里的改动提交到本地版本库

git commit m "message"       // 附带message提交到HEAD中

git branch -m | -M oldbranch newbranch       // 重命名分支

git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。
1.push单个tag,命令格式为:git push origin [tagname]
例如:
git push origin v1.0 #将本地v1.0的tag推送到远端服务器

git reset         //回退到指定提交

 

修改文件提交流程:

1.git add <filename>                    //把修改的文件添加到缓存区,或者使用git add *提交全部修改文件

2.git commit -m "代码提交信息"          //该命令实际提交改动,但还未到仓库

3.git push origin master        // 提交到远程仓库,master可以换成任何分支

 

使用简易指南

一、创建新仓库

  创建新文件夹,打开,然后执行git init以创建新的git仓库

二、检出仓库

  执行如下命令以创建一个本地仓库的克隆版本

git clone /path/to/repository
// 如git clone http://网址/qiansiqing/123

  如果是远端服务器上的仓库,

git clone username@host:/path/to/repository

三、工作流

  本地仓库由git维护的三部分组成,第一个是工作目录,持有实际文件;第二个是缓存区(index),临时保存改动;第三个是HEAD,指向最近一次提交的位置

四、添加与提交

  把改动后的文件先放到缓存区

git add <filename> 
git add *

  实际提交改动

git commit -m "代码提交信息"

  现在,改动已经提交到了HEAD,但是还没有到远端仓库

五、推送改动

  改动文件已经在本地仓库的HEAD中了,提交到远端仓库

git push origin master    //master可以换成要推送的任何分支

  如果还没有克隆现有仓库,但是想要将仓库连接到某个远程服务器,可以使用

git remote add origin <server>

  将改动推动到所添加的服务器上

六、分支

  分支用来分类,在创建仓库时,master是默认分支,在其他分支上进行开发,完成后再将它们合并到主分支上

git checkout -b newbranch     // 创建一个并切换到newbranch分支
git branch -d newbranch   //删除该分支

  除非将分支推送到远程仓库,不然该分支在本地,是不为他人所见的

git push origin <branch>

七、更新与合并

  要更新本地仓库至最新改动,执行

git pull

  以在本地目录中获取(fetch)并合并(merge)远端的改动

  要合并其他分支到当前分支(如master),执行

git merge <branch>

  这两种方法,git都会尝试自动合并改动。但是自动合并并非每次都能成功,可嫩会导致冲突(conflict)。这时就需要手动修改这些文件来合并这些冲突。改完后,执行如下命令将他们标记为合并成功(解决冲突之后,一定要git add.)

git add <filename>

  在合并改动之前,可以查看暂存区的文件,如下

git diff <source_branch> <target_branch>

八、标签

  在软件发布时创建标签,执行如下命令以创建一个1.0.0的标签,

git tag 1.0.0 1b2e1d63ff

 

  1b2e1d63ff是想要标记的ID的前10位,可以如此获得该ID(也可以用前几位,只要它是唯一的)

git log

九、替换本地改动

  如果写错了,可以使用如下命令替换掉本地改动

git checkout --<filename>

  此命令会使用HEAD中的最新内容替换掉本地工作目录中的文件,而已添加到缓存区的改动,以及新文件,都不受影响

  如果想要丢弃所有的本地改动与提交,可以到服务器上获取最新的版本并将本地主分支指向到它

git fetch origin
git reset --hard origin/master

 

合并工具:beyond compare

 

把远程分支merge到本地分支:

  0.本地分支上git add . 然后git commit -m ""

  1.在本地分支上git pull 远程分支

  2.vscode解决冲突

  3.git commit,进入unix界面,在上面写merge的commit,然后:wq