Git

This is my blog.
Git 一直以来只是当作一个存储blog的仓库,实际上它是目前世界上最先进的分布式版本控制系统(没有之一)。
好的,我现在只是拿来做笔记而已的。
多记了一些命令,罢了ᶘ ᵒᴥᵒᶅ

我是大自然的搬运工……ʕ •ᴥ•ʔ

Advantages

  • 它能记录每次文件的改动
  • 协作编辑

第一次尝试了协作编辑

安装

我是在搭建博客的时候,已经装好了。

1
2
3
sudo apt-get install git
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

创建

1
2
3
mkdir learngit %创建一个仓库repository
cd learngit
git init %把这个目录变成Git可以管理的仓库,ls -ah可看目录

SSH KEY

1
2
cd ~/.ssh
ssh-keygen -t rsa -C "your email"

打开id_rsa.pub文件,复制,在Github->setting->SSH and GPG keys中加入SSH

1
ssh -T git@github.com

克隆

1
2
git clone git@github.com:Github_Name/Repository_name.git
cd Repository_name

更新

在修改之前,更新一下,这样可以拿到同伴的更新之后的结果

1
git pull

增添

1
2
3
4
5
6
7
8
vim test.md
git add test.md %把文件添加到暂存区
git commit -m "This is a explanation" %把文件提交到工作区,-m后面输入的是本次提交的说明,可以输入任意内容
git status %查看仓库当前的状态
git diff %查看仓库历史状态,git diff(没有时间参数配置)
git log %查看提交日志 复杂的一串为版本号,之后回退版本有用
git checkout -- test.md %在工作区的修改全部撤销
git rm test.md

链接

本地Git仓库和GitHub仓库之间的传输是通过SSH加密的

1
git push -u origin master %把本地库的所有内容推送到远程库上,第一次推送master分支时,加上了-u参数

这里的master之后会说到是一个分支,所以可以被替换成其他分支的名字

分支

先分开工作,之后合并。(但感觉同一个文件就不行啊……没试过【看到了冲突的解决,好厉害的样子】

创建分支

1
git checkout -b dev orgin/dev

等价于

1
2
git branch dev %创建分支
git checkout dev %切换分支

查看分支

当前分支前面会标一个*号

1
git branch

合并分支

1
git merge dev

删除分支

1
git branch -d dev

解决冲突分支

1
git merge --no-ff -m "xxxxx" dev %这时你发现小伙伴也更新了

我们可以进入冲突文件,Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
进行修改后,再提交

1
2
git add readme.txt
git commit -m "conflict fixed"

可通过git log -- graph看到过程
最后删除不要的分支吧!
所以为了避免,先git pull吧!

多人工作模式

  1. 首先,可以试图用git push origin branch-name推送自己的修改;
    . 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
    • 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建
    • 使用命令git branch --set-upstream branch-name origin/branch-name
        如果合并有冲突,则解决冲突,并在本地提交;
        没有冲突或者解决掉冲突后,再用`git push origin branch-name`推送就能成功!
      

后记

唔,好久没有更新,然后敲命令的时候,呆了一下(真的是一下٩(˃̶͈̀௰˂̶͈́)و
有点困了,睡觉觉

本文参考廖雪峰

转载请注明出处,谢谢。

愿 我是你的小太阳


买糖果去喽