Git  分布式的版本控制软件 (优点 1.快照 切换版本快  2.大部分操作可以离线,不用网)

红:工作区是新的
绿:工作区存入暂存区,暂未提交至工作区
白色:工作区和仓库一致

1. Git 中的三种状态
已修改 modified
已暂存 staged  
已提交 committed

Git 操作的终极结果:让工作区中的文件都处于“未修改”的状态。

2.基本的 Git 工作流程如下:
① 在工作区中修改文件
② 将你想要下次提交的更改进行暂存
③ 提交更新,找到暂存区的文件,将快照永久性
存储到 Git 仓库

2. 配置用户信息
安装完 Git 之后,要做的第一件事就是设置自己的用户名和邮件地址。因为通过 Git 对项目进行版本管理的时
候,Git 需要使用这些基本信息,来记录是谁对项目进行了操作:
git config --global user.name "用户名字"

git config --global user.email "邮箱"

git config --global --list

注意:如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效

git init 初始化储存库 只要写一次就行

git status  检查状态
使用 git status 输出的状态报告很详细,但有些繁琐。如果希望以精简的方式显示文件的状态,可以使用如下两条完全等价的命令,其中 -s 是 --short 的简写形式:

clear 删除

Tab 可以补全没写完的信息 补全代码

git add 放入暂存add后加什么放入缓存

git commit -m " 建立了什么就写上面"  保存到库

nothing to commit, working tree clean
//出现这个就成功同步了

git add .   点代表所有文件放入缓存

git commit -a -m ""  双引号加提交说明   把工作区直接同步上传 哲理上传文件必须要已经上传过的  修改文件  不推荐使用

git rm -f   f后加许移除的文件

git rm --cached   后加许移除的文件 这是移除库的 工作区还有

.gitignore   新建一个文件命名为 .gitignore   然后在里面写需要忽略的内容  点一定要写

git log  所有提交历史  新的在前面    :出现冒号就是还有很多  按回车查看  到显示(END)就结束了

git log -2   查看最新的两条提交历史

git log -2 --pretty=oneline  在一行显示 最近两条信息  不写 -2  就是在一行上显示 所有提交历史git log --pretty=oneline

git log -2 --pretty=format:"%h | %an | %ar | %s"   %h提交最近简写id值   %an 作者名字   %ar 作者修订日期,按多久以前的方式显示  %s 提交说明

git reset --hard 后面加需要写的id 就可以跳转至指定版本

git reflog  查看回收站

自建快捷键
[alias]
    log2 = "log -20 --pretty=format:'%h | %an | %ar | %s'"
    ad = "add ."
    lg = "log"
    rlg = "reflog"
    cm = "commit"
    ps = "push"
    pl = "pull"

开源 与 闭源:  开源让人看   闭源不让人看

开源并不意味着完全没有限制,为了限制使用者的使用范围和保护作者的权利,每个开源项目都应该遵守开源许可协议( Open Source License )

常见的 5 种开源许可协议:
① BSD(Berkeley Software Distribution)
② Apache Licence 2.0

③ GPL(GNU General Public License)
⚫ 具有传染性的一种开源协议,不允许修改后和衍生的代码做为闭源的商业软件发布和销售
⚫ 使用 GPL 的最著名的软件项目是:Linux

④ LGPL(GNU Lesser General Public License)

⑤ MIT(Massachusetts Institute of Technology, MIT)
⚫ 是目前限制最少的协议,唯一的条件:在修改后的代码或者发行包中,必须包含原作者的许可信息

⚫ 使用 MIT 的软件项目有:jquery、Node.js
关于更多开源许可协议的介绍,可以参考博客 https://www.runoob.com/w3cnote/open-source-license.html

开源项目托管平台:

专门用于免费存放开源项目源代码的网站,叫做开源项目托管平台。目前世界上比较出名的开源项目托管平台
主要有以下 3 个:
⚫ Github(全球最牛的开源项目托管平台,没有之一)
⚫ Gitlab(对代码私有性支持较好,因此企业用户较多)
⚫ Gitee(又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)
注意:以上 3 个开源项目托管平台,只能托管以 Git 管理的项目源代码,因此,它们的名字都以 Git 开头

Github 上的远程仓库,有两种访问方式,分别是 HTTPS 和 SSH。它们的区别是:
① HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功
② SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码
注意:在实际开发中,推荐使用 SSH 的方式访问远程仓库

码云创建好后最下面的 两行代码 用这两行代码对本地数据库进行关联
- git remote add origin 远程仓库的地址
- git push -u origin master+
咧子:$ git remote add origin https://gitee.com/wanxifeml/liubi.git
$ git push -u origin master

git push 下一次加入就可以写这一行代码了

码云配置错了用 git remote remove origin 重新写

SSH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。
SSH key 的好处:免登录身份认证、数据加密传输。
SSH key 由两部分组成,分别是:
① id_rsa(私钥文件,存放于客户端的电脑中即可)
② id_rsa.pub(公钥文件,需要配置到 Github 中

ssh-keygen 生成公钥私钥 回车三次就可以 配好后就不用配了 即可在 C:\hasee\用户名文件夹\.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文  id_rsa.pub  这个到公司配置是发给项目经理

然后加入 码云里的 ssh 最下面两个进 Git Bash就可以

下面的这是github 运用的  码云不一样
也可以使用 ssh -T git@github.com 输入命令并回车执行:
输入 yes 之后,如果能看到类似于下面的提示消息,证明 SSH key 已经配置成功了

//下载远程
git clone 远程仓库的地址
cd  切换目录的意思

分支
在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支。 用来保存和记录整个项目已完成的功能代码。
注意:不能在主分支上修改代码 风险高 会导致项目崩溃

git branch 查看git仓库中的分支
注意:分支名字前面的 * 号表示当前所处的分支。

创建分支
git branch 分之名称

git checkout 分支名字     //切换到指定分支上进行开发

-b 表示新分支
checkout 表示切换到刚才新建的分支上
git checkout -b 分支名称     表示创建指定名称的新分支 并立即切换到新分支上:

git branch -d 分支名称   就可删除分支

注意:
"git checkout -b 分支名称" 是下面
两条命令的简写形式:
① git branch 分支名称
② git checkout 分支名称

合并分支
合并分支时的注意点:
假设要把 C 分支的代码合并到 A 分支,
则必须先切换到 A 分支上,再运行 git 
merge 命令,来合并 C 分支

git checkout master   表示切换至主分支master 
git merge 加要合并分支的名字就可完成合并

CONFLICT  出现这个就是有冲突  
vs code 里会出现几个选项 分别是  自己   别人  两个都保留   最后一个是对比  
遇到合并冲突时 手动解决冲突后  需要在走一次以下步骤
git add .
git commit -m "解决分支合并冲突问题"

第一次将本地分支推送到远程仓库,需要写以下命令:
-u 表示把本地分支和远程分支进行关联 只在第一次推送时候需要带 -n 参数

git push -u 远程仓库名称地址 本地分支名称:远程分支名称

只写 git push -u origin 本地分支名称    就可以使本地与远程名称一致
 origin   固定表示远程仓库名称地址  
注意:第一次推送分支需要带 -u 参数,此后可以直接使用 git push 推送代码到远程分支。

查看远程仓库中,所有分支列表的信息:
git remote show 远程仓库名称

跟踪分支
指的是:从远程分支仓库中,把远程分支下载到本地仓库中,需要运行命令如下:
git checkout 远程分支的名称    主意:保持本地分支和远程分支名称相同

git checkout -b 本地分支名称 远程仓库名称/远程分支名称

git pull   可以把最新的代码下载下来 ,保持代码最新 把代码也更新了

删除远程分支

删除远程分支中指定名称的远程分支
git push 远程仓库名称 --delete 远程分支名称

总结
① 能够掌握 Git 中基本命令的使用
⚫ git init 创建git
⚫ git add . 添加至本地储存
⚫ git commit –m "提交消息"
⚫ git status 和 git status -s
② 能够使用 Github 创建和维护远程仓库
⚫ 能够配置 Github 的 SSH 访问
⚫ 能够将本地仓库上传到 Github
③ 能够掌握 Git 分支的基本使用
⚫ git checkout -b 新分支名称
⚫ git push -u origin 新分支名称
⚫ git checkout 分支名称
⚫ git branch

退出按 Shift : Q

pull push 直接推送所有分支

git remote update origin --prune 可以更新远程的分支到本地。

Git 提交代码单词相关推荐

  1. mac电脑Git提交代码到Github提示git-credential-osxkeychain 验证解决方案

    mac电脑Git提交代码到Github提示git-credential-osxkeychain 验证解决方案 参考文章: (1)mac电脑Git提交代码到Github提示git-credential- ...

  2. 【Intellij IDEA系列】IDEA使用git提交代码流程

    git提交代码流程 注意事项: (1)修改文件之前,一定要先git pull,保证修改的是最新的版本; (2)git push之前一定要先git pull,因为可能别人修改相同的文件并已commit, ...

  3. git提交代码报错解决方法 Git-remote Incorrect username or password ( access token )

    git提交代码的时候报错 $ git push origin ionic-001 remote: Incorrect username or password ( access token ) fat ...

  4. git提交代码到码云

    日常代码一般提交到github比较多,但我还是钟爱马爸爸,没错就是码云. 码云是中文版的代码托管的网站,不存在打开网速问题,使用也蛮方便的,日常自己保存托管代码已经足够,平时使用git提交代码到码云是 ...

  5. IDEA使用git提交代码时,点了commit之后卡死在performing code analysis部分,或者performing code analysis结束后没有进入下一步操作。

    IDEA使用git提交代码时,点了commit之后卡死在performing code analysis部分,或者performing code analysis结束后没有进入下一步操作. 版权声明: ...

  6. Git Bash基本命令,Git提交代码到GitHub,GitHub获取代码到本地

    Git简介,GitHub与Git区别,Git与SVN区别:Git简介 Git与GitHub区别和关系 Git官网下载(国内超慢):Git官网下载 Git淘宝镜像(下载非常快):Git淘宝镜像 推荐Gi ...

  7. repo/git提交代码

    Repo每个的工程下每个目录下都有一个git仓库,可以在每个目录的git仓库下执行git各种命令. 一.从服务器clone代码 1.初始化repo仓库 # repo init -u http://xx ...

  8. 在使用Git提交代码的时候犯了个低级错误

    今天在使用git提交代码的时候,犯了个很低级的错误,按照一切流程当我add并commit提交代码,最后使用push到远程仓库, 接下来奇怪的事情发生了,push之后,查看远程仓库代码并没有发现提交记录 ...

  9. Git提交代码失败: empty ident name (for ) not allowed

    使用git提交代码,报错如下: 下午2:56 Commit failed with error 0 files committed, 1 file failed to commit: 升级 empty ...

最新文章

  1. 通过transpose和flip实现图像旋转90/180/270度
  2. 经典的JavaScript入门书
  3. 在Eclipse中制作SSH配置文件提示插件
  4. Oracle RAC错误之--oifcfg错误案例
  5. 自顶而下系统构架分析
  6. Android 软键盘弹出时布局内指定内容上移实现及问题解决
  7. centos7 开启 关闭 NetworkManager
  8. 系统搜索功能不能使用,弹出“无法找到运行搜索助理需要的一个文件”
  9. 获得百度智能云access token
  10. jenkins自动部署配置
  11. 跨域访问被禁止的演示示例
  12. 微服务深入浅出(4)-- 负载均衡Ribbon
  13. PC-启动慢的解决好方法!
  14. To Do List
  15. linux的打包和压缩
  16. H5倍速播放视频播放器(2x/1.5x/0.5x播放)
  17. index.php.bak 颓废_18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
  18. 前端vue-高德地图操作
  19. win10远程桌面连接凭据怎么设置_win10系统设置让远程桌面连接记住密码下次登录不需再输入的步骤...
  20. 深度学习环境搭建超级详解(Miniconda、pytorch安装)

热门文章

  1. WeChat applet 微信小程序(1)
  2. 机器学习 Maching Learning - 学习笔记 - 概括篇
  3. idea如何更改编辑器字体大小和框字体大小
  4. 【教学类-12-09】20230228《连连看竖版6*6 (3套题目空心图案(中班教学)》(中班主题《》)
  5. Python文本分析技巧
  6. selenium 解决滑块验证的问题,自动化登录12306中国铁路网
  7. 我在拼多多这三年(转载)
  8. 【测试工具】一、手把手教会jmeter流程测试与性能测试
  9. 康耐视InSight相机的TCP\IP通讯设置以及字符命令触发
  10. 【LabVIEW】ELVIS III 、 myRIO 软件添加 软件删除 格式化磁盘