实用的git语法适合git小白使用
注:本人在面试的时候 被问到了 这个东西,回答的时候感觉自己略知一二,仔细学了一下,才知道自己在胡言乱语。
话不多说:我是菜鸡前端
必须分享的一个视频浅显易懂git上手:
git
- 下载安装git,无难点,百度都有。
- 配置本机信息:安装好后,右击桌面打开
开始进行配置:
//设置用户名
git config --global user.name "yuanyuan"
//设置邮箱
git config --global user.email "30286982@qq.com"
生成公钥:
ssh-keygen -t rsa -C '30286982@qq.com'
公钥位置:C:\users\windows的注册用户.ssh
复制公钥到git或者gitee上(这里拿gitee做演示)
- 在本地测试连接远程仓库
本地新建文件夹
右击出现Git Bash here,点击进入后
输入命令,尝试该网站是否能够接通
ssh -T git@gitee.com
成功
不成功,就是一大堆
但其实不是不成功,这里第一次使用的小白一定要注意就是,
Are you sure you want to continue connecting(yea/no/[fingerprint])?
他在想你询问是否同意连接,这里要敲yes,不能no,不能回车过去了。
下面这个截图,是在从远程仓库克隆内容下来和测试是否可连接远程仓库的时候都会遇到同样的问题,导致本地与远程连接失败
还有一个想说的就是,这里如果出现的不是上面的提示,大概率就是公钥的问题(这边还是先建议看一下提示理解连接不上的 原因啊翻译翻译)。这里的感觉就像,咱们家的小电脑去敲大仓库的门,要进门就要喊暗号,暗号对不上,跟仓库联不通啊。然后就是要确定到底是自己暗号错了(公钥创建完成后意外改动了)还是给仓库的暗号错了(复制到git-hub或者gitee上的公钥错了)。必须要把配置公钥的相关流程检查一遍。
**你也可以直接输入:
git remote add origin1(链接名) git@github.com:zengyuandong/zyd1.git( : 符号后面的是你自己的远程仓库地址)**来连接你在gitee上面创建好的仓库
- 测试连接成功继续往下走:克隆一个远程仓库下来
回车后:克隆成功,warning只是警告我,我这个仓库还是空的
本地的文件夹已经有东西了,有的.git文件不显示请提前将查看里面的隐藏的项目一栏打开。
- 新建文件,测试上传到远程仓库
输入:
//查看文件状态
$ git status
提示:
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
haha.txt
nothing added to commit but untracked files present (use "git add" to track)
//将所有状态都变成staged
$ git add .
//将所有的文件状态都变成unmodified
$ git commit -m "第一次提交"
提示:
[master (root-commit) b4716d0] 第一次提交
1 file changed, 1 insertion(+)
create mode 100644 haha.txt
//推向远程仓库
$ git push
于是我可爱的仓库的master分支上里面多了一条
- 有关git其他语法,首先我建议大家去看一下文首的链接
这是使用了语法后文件走向
这样看是描述文件走到哪里了,还有一个就是状态如何,请看文首链接
workspace:工作区
staging area:暂存区/缓存区
local repository:版本库或本地仓库
remote repository:远程仓库
//下载安装完成后进行配置
//可以看到许多git的配置命令
git config
//设置用户名
git config --global user.name "yuan"
//设置邮箱
git config --global user.email "30282@qq.com"
//生成公钥
ssh -keygen -t rsa -C '30282@qq.com'
//尝试是否接通
ssh -T git@gitee.com
//第一次连接需要手动确认添加主机到本机的ssh列表
//不克隆或者拉取远程仓库的,本地使用初始化一个git,这个生成的.git文件就是本地仓库会记录你所有的变更行为
git init
//查看状态
git status
//将单个文件加入暂存区
git add “filename”
//加入全部文件
git add .
//add后退
git reset "filename" git reset commitID --hard
reset有三种模式,
hard:不保存所有变更,
soft:保留变更且变更内容处于Staged(绿的)
mixed:保留变更且变更内容处于Modified(红的)
//提交
git commit -m "我是描述信息"
//推送
git push originname
//提交成功后log查看提交记录
git log
//删除了又后悔了怎么办
git reflog commitID
//创建新的分支,命名,使用哪个为模板,如果不填则默认当前所在分支为模板
git checkout -b<name><template> //templat可以使用使用远程仓库分支名
//分支名跳回某某分支
git checkout branchname
//查看所有分支
git branch
//合并分支变更
git merge branchName
//新增远程仓库叫这个,名字
git remote add suosi_origin https://gitee.com/chengpangpang/suosi-project.git
//查看远程仓库是否连接上
git remote 如果有的话会显示刚才绑定远程名字
//在git或者gitee上面创建仓库克隆到本地(默认分支)
git clone git@gitee.com:chengpangpang/gittest01.git
//将指定分支克隆的本地
git clone -b branchname git@gitee.com:chengpangpang/gittest01.git
//本地创建新分支要设置上流分支,不能直接push
git checkout -b bc-b
git push --set-upstream origin bc-b
//在bc-b分支里面添加文件,然后推送至远程仓库
git add .
git commit -m " "
git push //推送至远程仓库
//拉取远程仓库信息,创建并更新所有远程分支的本地远程分支
git fetch
//查看本地仓库分支
git branch
//将分支内容合并,当前的跟master合并
git rebase(变基) master
//手动处理 冲突
然后 git add . 添加到暂存区
再继续 git rebase --continue
补充链接:拉取分支部分的操作
gitLab拉取指定分支