文章目录
- 1.init/add/commit,pull/push,status/log/reflog,checkout/clone
- 2.分支操作
- 3.idea操作git
- 4.ssh
- 5.ssh免密登录原理
- 6.减少github的commit次数
1.init/add/commit,pull/push,status/log/reflog,checkout/clone
SVN:集中式版本控制,保存在一台电脑,容易故障或连的客户端多了会卡顿。
左
下角出现master分支。桌面gitdemo新建1.txt文件,显示绿色,git commit后不显示颜色。
如果git commit失败执行如下,本地仓库user.name随便写
git config --global user.name "follow"
git config --global user.email "follow@126.com"
github新建名为gitdemo仓库,复制最下面两行到vscode终端执行:git remote
添加一个远端仓库,origin名字
可以代替后面github仓库。git push
将本地归档区
内容提交到远程github仓库。
因为采用https提示登录github
刷新github显示如下,如上关联后就可以直接git pull/push 空。
如下HEAD是指针
git log 空:每次提交
commit
信息。git reflog 空:所有操作
信息2.分支操作
3.idea操作git
create new project-Maven
File-settings
选中如下右击New-.ignorefile-.gitignorefile(Git),选中Example…(.idea,.iml)。之后可以选中文件夹或文件右击Add to .gitignore file。如下让工程关联git,多了.git文件夹。
选中文件右击Git-Add,Add一次就行,后面只要选中整个工程右击Git-Commit(上车,不是候车室)。
撤销刚写的,一个文件ctrl+z可以,很多文件不行。选中整个工程右击Git-Revert后选文件或文件夹(同时撤销
工作区和暂存区
,因为默认一直Add进了暂存区)。如下点击后选择Hard。选中整个工程右击show in Explorer,git bash中git reflog查看。再选中整个工程右击Git-Repository-Reset HEAD。
修改了要commit,合并时在master分支上选中整个工程右击Git-Repository-Merge changes,选择dev分支。如果冲突,找人商量解决,改完冲突要重新Add再commit。
4.ssh
https链接每次push都要输入用户名和密码
ssh可以免密码,要配置公钥到github上
如下修改本地连接https改为ssh:git push origin dev 空。
5.ssh免密登录原理
crt和xshell就是通过SSH登录Server,如下进行1和2后就可以免密登录了。
如下两个ip是一台机器两个docker,为什么是root密码而不是别的密码?
每台机器两两连接,如何配置ssh的key?如下大数据集群配置,采用2方法好。
如下例子也是采用2好。
6.减少github的commit次数
github新建库——clone到桌面——cd到刚下载的桌面库文件夹中新建4个文件依次git add 新建的4个文件名
,git commit -m""
,在123456库中master支git push
上传github同理下图。
在github网页上新建5.txt,本地命令行执行
git pull
,本地则多出5.txt,此时github上显示5次提交。命令行git log
再git rebase -i 8c26e
(-i 的参数是不需要合并的 commit 的 hash 值,这里指的是第一条 commit, 接着就进入到 vi 的编辑模式,按方向键和del键)。pick
的意思是要会执行这个commit,squash
的意思是这个commit会被合并到前一个commit。pick改为squash 或 s,esc和:wq保存退出,进入commit message 的编辑界面如下图,将非注释改为1行再esc和:wq保存退出。git log
查看本地已经合并,git push -f
强行覆盖远程后github只显示2次提交。
连接gitlab:ubuntu:sudo apt-get install git
,直接可以git clone…github项目(只这一个不用与github密钥连接),但ubuntu如下图连接gitlab
才能git clone和win一样。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。