git
迷途码界
一些原理解读,经验分享
segmentfault:迷途码界(https://segmentfault.com/u/cclovel/articles)
展开
-
Git 连接 GitHub 及可能出现的问题与解决方法
Git 连接 GitHub 及可能出现的问题与解决方法Git 连接 GitHub初始设置设置姓名和邮箱地址连接 GitHub 设置设置 SSH Key问题创建 SSHGit 连接 GitHub初始设置设置姓名和邮箱地址git安装完成后,设置使用 Git 时的姓名和邮箱地址。名字需要英文输入。$ git config --global user.name "Firstname LastName"$ git config --global user.email "your_email@example原创 2020-06-11 18:39:21 · 589 阅读 · 0 评论 -
Centos7-Minimal 版编译安装git
一、清理原有版本1、如果是通过yum安装的,直接在终端使用以下指令删除:yum remove git2、如果是通过源码编译安装的,参考以下文章:Linux ./configure && make && make install 编译安装和卸载二、git的安装1、确保安装gcc、g++以及编译git所需要的包--原创 2018-08-07 22:30:40 · 309 阅读 · 0 评论 -
Git — Bug分支、Feature分支
Bug分支当线上出现Bug需要修复,而手上的工作只进行了一般不想提交;此时可以通过一个新的临时分支来修复,修复后合并分支,然后将临时分支删除。当前正在 dev 上进行的工作还未提交:$ git statusOn branch devChanges to be committed: (use "git reset HEAD <file>..." to unstage) ...原创 2019-09-17 19:55:12 · 324 阅读 · 0 评论 -
Git — 分支管理策略
分支管理策略合并分支时,Git 会用 Fast forward 模式,这种模式下,删除分支后会丢掉分支信息。执行 git merge 命令合并分支时添加 –no-ff参数,表示禁用 Fast forward;-m 参数后加上描述:$ git merge --no-ff -m "merge with no-ff" devMerge made by the 'recursive' stra...原创 2019-09-06 12:19:46 · 148 阅读 · 0 评论 -
Git — 解决冲突
解决冲突master 分支和 feature1 分支对同一文件各自都有分别的新的提交时,引起冲突:冲突情况下,Git 无法执行 “快速合并”,只能试图把各自的修改合并起来,但是这种合并就可能会有冲突:$ git merge feature1Auto-merging readme.txtCONFLICT (content): Merge conflict in readme.txtAu...原创 2019-09-06 11:51:26 · 350 阅读 · 0 评论 -
Git — 从远程库拉取
从远程库拉取登录 GitHub,创建一个新的仓库,叫 gitskills;勾选 Initializethis repository with a README,GitHub 会自动创建一个Readme.md文件远程库已完成,在本地执行 git clone 命令进行克隆;$ git clone git@github.com:xxxxx/gitskills.gitCloning ...原创 2019-09-03 08:41:42 · 2000 阅读 · 0 评论 -
Git — 创建与合并分支
分支概念分析master 分支(主分支),是每次提交串成的时间线。HEAD 严格来说不是指提交,而是指向 master,master 才是指向提交的。HEAD 指向的就是当前分支。分支流程:开始时:master 分支是一条线,Git 用 master 指向最新的提交,再用 HEAD 指向 master,就能确定当前分支,以及当前分支的提交点:原分支提交:master 分支都会向前移动...原创 2019-09-06 10:55:43 · 106 阅读 · 0 评论 -
Git — 添加远程仓库
基于GitHub的 SSH 添加注册 GitHub 账号;创建 SSH Key(本地 Git 和 GitHub 之间通过 SSH 加密传输)。在用户目录下,看看是否有 .ssh 目录;若有,再查看一下 id_rsa(私钥) 和 id_rsa.pub(公钥) 两个文件是否存在。若无,执行 ssh-keygen -t rsa -C “youremail@example.com” 命令创建 ...原创 2019-09-02 16:37:14 · 372 阅读 · 0 评论 -
Git — 删除文件
删除文件当文件删除(也属于修改)也会被 Git 跟踪到状态。$ git statusOn branch masterChanges not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>....原创 2019-09-02 15:42:41 · 200 阅读 · 0 评论 -
Git — 撤销修改
撤销修改当发现错误时,必然是撤销之前的修改;但是,撤销修改操作也会在不同的阶段有不同方法。撤销工作区的修改;撤销暂存区的修改。撤销工作区的修改此时,恢复文件修改内容即可。或者当内容太多不容易回复时,执行以下命令对文件进行恢(可以执行 git status 返回内容中有该命令的提示):$ git statusOn branch masterChanges not staged ...原创 2019-09-02 15:26:27 · 126 阅读 · 0 评论 -
Git — 管理修改
管理修改GIt 比其他版本控制系统设计得优秀,因为 Git 跟踪并管理的是修改,而非文件。验证:对 readme.txt 做一个修改;$ cat readme.txtGit is a distributed version control system.Git is free software distributed under the GPL.Git has a mutable...原创 2019-09-02 14:39:42 · 141 阅读 · 0 评论 -
Git — 工作区和暂存区
工作区(Working Directory)gitspace 文件夹(目录)就是一个工作区版本库(Repository)工作区有一个隐藏目录 .git,这个是 Git 的版本库。Git 的版本库里存了好多东西,其中最重要就是 stage(或者index)的暂存区,Git 自动创建的第一个分支 master,以及指向 master 的指针叫 HEAD。分析一下把文件往 Git 版本库里添...原创 2019-09-02 09:24:50 · 255 阅读 · 0 评论 -
Git — 创建版本库
版本库版本库:又名仓库(repository),也可以理解成一个目录。特点:这个目录里所有的文件都可以被Git管理,每个文件的修改、删除,Git都可以跟踪;以便任何时刻都可以追踪历史,或者在将来某个时刻“还原”。创建一个版本库创建版本库非常简单,选择一个地方,创建一个空目录:$ mkdir gitspace$ cd gitspace$ pwd/data/gitspace...原创 2019-08-30 13:49:21 · 146 阅读 · 0 评论 -
Git — 版本管理
Git 版本管理修改已经提交的 readme.txt 文件:Git is a distributed version control system.Git is free software.查看 git 库状态执行 git status 命令查看结果:$ git statusOn branch masterChanges not staged for commit: (use...原创 2019-08-30 14:32:58 · 257 阅读 · 0 评论 -
Git — 版本回退
版本回退Git 的 commit 会保存一个快照,一旦文件改乱或误删文件,可以从最近一个 commit 恢复,然后继续工作。先回顾下之前的 readme.txt 的几个版本:版本1:wrote a readme fileGit is a version control system.Git is free software.版本2:add distributedGit is...原创 2019-08-30 15:05:49 · 125 阅读 · 0 评论 -
Git — 多人协作、Rebase
多人协作克隆远程库时,Git 自动把本地 master 分支和远程 master 分支对应起来,并且远程库默认名称是 origin。执行 git remote 或 git remote -v (显示更详细的信息,fetch 是抓取,push 是推送,没有权限时看不到 push 的地址):$ git remoteorigin$ git remote -vorigin git@gith...原创 2019-09-17 20:39:01 · 369 阅读 · 0 评论 -
Git — 标签管理
标签标签是发布一个版本时,向版本库中打上的标记(相当于版本库的快照);标签可以随时获取对应的版本。标签是指向某个 commit 的指针,和分支类似(分支可以移动,标签不能移动)。commit 号过于长且复杂,标签可以很方便找到对应的版本。创建标签执行 git tag < name> 命令打新标签(默认标签打在最新提交的 commit 上):$ git tag v1.0...原创 2019-09-19 09:44:23 · 124 阅读 · 0 评论 -
Git — 自定义Git
设置命令输出颜色执行 git config --global color.ui true 命令设置命令输出颜色:$ git config --global color.ui true忽略特殊文件在 Git 工作目录中,但又不想提交的文件;可以通过一个特殊的 .gitignore 文件,将要忽略的文件名填入,Git 就会自动忽略这些文件。忽略文件的原则:忽略操作系统自动生成的文件,比...原创 2019-09-19 11:33:57 · 189 阅读 · 0 评论 -
Git — 搭建Git服务器
搭建Git服务器安装 git:sudo yum -y install git创建 git 用户,用来运行 git 服务:sudo adduser git创建证书登录:收集所有需要登录的用户的公钥(id_rsa.pud)文件,把所有公钥到导入 /home/git/.ssh/authorized_keys 文件里。初始化 Git 仓库:先选定一个目标作为 Git 仓...原创 2019-09-19 11:56:51 · 142 阅读 · 0 评论 -
Git — 搭建gitlab服务
基础环境搭建基础环境需要依赖:ssh、firewalld、postfix(用于邮件通知)、wget。基础服务存在可跳过。ssh 服务安装sshsudo yum install -y curl policycoreutils-pythonopenssh-server出现 Complete! 表示安装完成将 ssh 服务设置为开机启动sudo systemctl enab...原创 2019-09-19 16:07:03 · 211 阅读 · 0 评论