github相关
-
检索条件筛选:
- 命令行中粘贴是shift + ins(insert)
使用Steam++可以加速
V(virtual)P(personal)N(Network)虚拟专用网络
相关指令
-
下载git注册git账号并进行全局配置 // Git Bash Here
1. git config --global user.name "nameVal" // 配置用户名
2. git config --global user.email "eamil@qq.com" // 配置邮箱
-
查看工作区变化:git status
-
查看历史 log
git show 后面加上commit的hash值:
这个就是commit的hash值(在log里查看)
-
提交到暂存区 add
写文件名的时候可以通过空格提交多个
add . 表示添加所有(小心使用,防止添加敏感信息)
add -u表示添加被追踪的文件(本来存在被修改的)
可以先add -u保存修改的,再使用文件名来添加新增的
-i是交互式的添加
输入首字母或者数字编号都可以
-
提交 commit
-a是直接将修改提交,省去了add,但是对新增文件无效
-
搜索 grep
-
删除和移动 rm、mv
同linux命令
-
分支 branch
三种用途:区分版本、区分功能、用于不同人员
查看分支:
- -avv 表示查看所有分支的详细信息
这里可以看到本地和远端的分支hash相同,表示同步了
- 新建分支:
branch 创建分支
checkout切换到某分支
checkout -b创建分支并直接切换到该分支
- 删除分支:
注意不能删除当前所在分支(蓝色的)
- 远端仓库分支操作
删除远端分支:本地推送一个空到远端表示删除
- rebase:把两个分支做一个合并
-
提交回滚 revert
解释:对该hash的commit做一个逆向操作
作用:将一个分支上的commit剪到另一个分支上,是在目标分支上重新提交一次,所以commit id是不一样的(但是内容是一样的)
操作的时候要在后面带上被剪切的分支名
如将demo01的commit剪到master上,先checkout倒master分支,
然后 cherry-pick demo01 就会将demo01上面的commit操作剪到master上
- 修改上一个提交
这里amend是修改上一次的commit,也就是说并不会再创建一个新的commit
但是如果commit被已被push到远端服务器,则无法修改,指能改本地仓库的,类似事务提交。
参数是--amend
- 修改历史commit (-i表示交互式)
后边加上想要修改的commit的id
-
看谁写坏了代码 blame
可以看到对这个文件的commit信息
-
找回丢失的提交 reflog
reflog会保存git底层的所有原子性操作
想改哪个就checkout回去
git库瘦身
因为有的分支虽然已经删除了(只删了tag也就是引用),但是它的内容还存在
这里的不可达点指的就是被删除了branch名字只剩下hash的分支点
不可达点是有默认过期时间的,我们可以通过上面第一条语句来强制过期,然后使用第二条语句将过期的删除
但是一般历史记录还是有点用的,所以没必要经常用这个
图形化界面 gitk
查看分支结构:
- 操作暂存区:
添加到暂存区:
idea插件
idea中git回滚
- add的时候-u只提交被跟踪文件
- 第一次创建远程仓库并推送文件
// 先进入项目文件夹
1. git init // 初始化本地仓库
2. git remote add origin http...git // 绑定本地和远程仓库
3. git add . // 将本地仓库的变化添加到缓存区(add和.之间有空格)
4. git commit -m "注释" // 确认本地缓存区的内容 可以准备push
5. git push -u origin HEAD:master
- 如果报错了的话用下面的方法
// 重新建一个空文件夹
1. git init // 初始化本地仓库
2. git remote add origin http...git // 绑定本地和远程仓库
3. git pull origin master // 拉取远程仓库文件
4. 将需要上传的文件复制到此文件夹下
5. git add . // 将本地仓库的变化(全部)添加到缓存区
6. git commit -m "注释" // 确认本地缓存区的内容 可以准备push
7. git push -u origin master
- 后续更新文件
1. git add .
2. git commit -m "更改注释"
3. git pull // 拉取远程仓库的变化来同步本地的状态
4. git status // 确定本地缓存区的状态
5. git push // 提交本地仓库到远程仓库
- 克隆(拉取)代码
1. git clone http...git // 不指定分支
2. git clone -b dev http...git // 拉取dev分支的代码
- 在现有代码基础上获取远程最新代码
1. git fetch // 获取远程最新代码版本
2. git pull // 拉取远程最新版本的代码,并合并到本地 需要先做第一步 否则直接git pull拉取不到任何代码
- git如何新建分支
1. 切换到基础分支,如主干:git checkout master
2. 创建并切换到新分支
git checkout -b dev
git branch可以看到已经在dev分支上
3. 更新分支代码并提交
git add *
git commit -m "init dev
git push origin dev
4. 在git代码管理界面经可以看到dev分支了,成功~~
- git 如何把分支代码合并到master主分支上
1.首先切换到分支;
git checkout dev
2.使用git pull 把分支代码pull下来;
git pull
3.切换到主分支;
git checkout master
4.把分支的代码merge到主分支;
git merge dev
5.git push推上去ok完成,现在 你自己分支的代码就合并到主分支上了。
git push
- git 建立多个远程仓库
https://blog.csdn.net/gozhuyinglong/article/details/113861993
- 查看项目时将github.com改成github1s.com可以在线调试
git命令行使用(演示)
- 调整字体:右键option ->
- git init
在当前目录下进行初始化,生成.git 的隐藏文件
如果是生成裸库的话需要加上--bare(这样的话就不会有.git文件夹,也就是没有文件夹所在的工作区了)
生成的git库结构:
- 工作区:.git目录所在的目录
- 版本库: .git里的文件
- 提交: 工作区的文件 - > 版本库
- 暂存区:版本库中的一部分
提交顺序:工作区 - > 暂存区 - > 版本库
工作区 - > 暂存区:
我们先放一个小项目进来:
用于查看工作区变化,没有提交的文件是红色
提交到暂存区:
这时可以看到文件颜色变绿了(表示已经存到暂存区):
提交:
但是这时还没有配置用户名:
配置一下(不加global则表示当前工程)
再提交一次:
这时就将暂存区的文件提交到了版本库中
查看日志可以看到刚才的提交:
这时如果我们不小心删除了工作区中的文件,可以通过将暂存区和工作区同步来找回:
回来了:
提交到远程仓库
我们先创建一个远程仓库:
可以看到这句话,复制粘贴到命令行中:
现在我们提交一下刚才的文件:
弹出对话框:
输入密码之后:
查看仓库:
可以看到成功提交
生成ssh钥匙对
$ ssh-keygen -t rsa -C "1104809052qq.com"
之后我们复制公钥:
使用ssh的方式下载:
把上图的路径复制:
成功
本文来自博客园,作者:紫英626,转载请注明原文链接:https://www.cnblogs.com/recorderM/p/15677994.html