关于Linux学习中的诸多问题

简介: 关于Linux学习中的诸多问题

ssh

ssh 配置问题

如果上传服务器·.tmux.conf 但是并没有配置tmux,可能是因为 .tmux.conf 只会在tmux第一次创立的时候加载,所以只要清除所有tmux,再创建tmux即可。即 tmux list-sessions 然后tmux kill-server tmux。配置目录都在~/下。

1.$ tmux list-sessions
2.$ tmux kill-server
3.$ tmux


windows内容粘贴到vim中使用shift + Insert

现有 ssh 配置

  1. AC Terminal 可以免密码 ssh acs 到 acs 服务器。
  2. AC Terminal 可以免密码 ssh aliyun 到 aliyun 服务器。
  3. acs 服务器 可以免密 ssh aliyun 到 aliyun 服务器。

需要配置项

  1. ssh 免密码登录其他服务器
  2. sshIP 改为自己想输入的名字
  3. 配置裸服务器,主要是配置 tmuxvim

配置方法

配置 1 方案:

配置 2 方案:

配置 3 方案:

.ssh/ 与 ~/ 目录下文件

// AC Terminal 中
// .ssh/文件中
  acs@2ea7421063ad:~/.ssh$ ls
  config  id_rsa  id_rsa.pub  known_hosts
// ~/文件
acs@2ea7421063ad:~$ ls -a
.              .bash_logout  .config     .ipython         .ssh                       .vim      homework
..             .bashrc       .gitconfig  .profile         .sudo_as_admin_successful  .viminfo
.bash_history  .cache        .homework   .python_history  .tmux.conf                 .vimrc

git

所有节点都必须是 commit 出来的!

需要注意的点

工作区:仓库的目录。工作区是独立于各个分支的

暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。

版本库:存放所有已经提交到本地仓库的代码版本

版本结构:树结构,树中每个节点代表一个代码版本。

第一步:

git config --global user.name xxx:设置全局用户名,信息记录在~/.gitconfig文件中

git config --global user.email xxx@xxx.com:设置全局邮箱地址,信息记录在~/.gitconfig文件中

需注意的命令

  • git diff readme.txt # 比较当前工作目录与本地仓库版本对比。
  • git restore --staged <file> # 从暂存区撤回。git rm --cached readme.txt # Untracked files 不进行版本管理。
  • git restore <file> # 恢复到暂存区的版本,如果暂存区没有就恢复到 head 指针指向的节点。
  • git remote rm 远端仓库名 # 将远端仓库进行解除
  • git push -d origin dev3 # 删除云端分支
    git branch -d dev2(分支名) # 删除本地分支
  • git remote add origin git@git.acwing.com:gq/code_roam.git # 与远端仓库建立联系

分支处理

  • Fast-forward 快速合并模式:直接将当前分支的 head 指针指向合并过来的分支的节点,不会 产生复制。

解决分支合并冲突

将 dev2 分支合并到 master 分支上会产生 conflicts 。

提示信息:Automatic merge failed; fix conflicts and then commit the result.
1. $ git status  #查看conflicts
2. $ git add <file> #重新添加
3. $ git commit -m "fix comflicts"  #重新提交

处理冲突前:

处理冲突后:

新的分支加入云端

如果当前分支没有加入云端会报如下提示:

将本地分支与云端分支绑定

云端分支:

当前本地只有 master 分支,创建 dev4 分支与云端 dev4 分支绑定:git branch --set-upstream-to=origin/branch_name1 branch_name2将远程的branch_name1分支与本地的branch_name2分支对应。利用git pull实现云端分支与本地分支的同步。

将本地分支与云端分支合并

前面讲的分支合并都是将本地分支进行合并,这里也可以将云端分支与本地分支进行合并。利用 git pull origin dev5(云端分支名)

多人合作过程中出现冲突

现在的分支状态就是:

当 friend 进行 git push 之后,me 再进行 git push 时就会出现 conflicts 如下:


解决冲突

1. $ git pull  #拉倒本地
2. $ vim <file>  #fix conflict
3. git add <file>
4. git commit -m "fix conflict"
5. git push

small tips:可用于自己开发时,一台在公司进行开发,一台在家里进行开发。

仓库怎么删?

本地仓库删除: 直接将本地文件夹删除即可:命令 rm <file> -rf

AC git 云仓库删除: 项目 -> 设置 -> 通用 -> 高级 -> 删除项目

充电站

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习


相关文章
|
3月前
|
NoSQL 关系型数据库 MySQL
Linux学习记录---(1、基本命令)
该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
Linux学习记录---(1、基本命令)
|
12天前
|
存储 安全 Linux
|
14天前
|
Linux Shell 数据安全/隐私保护
|
4月前
|
Ubuntu Linux vr&ar
IM跨平台技术学习(十二):万字长文详解QQ Linux端实时音视频背后的跨平台实践
本文详细记录了新版QQ音视频通话在 Linux 平台适配开发过程中的技术方案与实现细节,希望能帮助大家理解在 Linux 平台从 0 到 1 实现音视频通话能力的过程。
168 2
|
1月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
1月前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
34 1
|
1月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
3月前
|
NoSQL Ubuntu Linux
Linux内核学习
Linux内核学习
79 3
|
2月前
|
Linux
使用qemu来学习Linux的休眠和唤醒
使用qemu来学习Linux的休眠和唤醒
|
2月前
|
Linux
linux内核原子操作学习
linux内核原子操作学习