Git

设置基本信息

$ git config --global user.name "Your Name":告诉git你是谁

$ git config --global user.email "email@example.com":告诉git怎么联系你

$ git config --global core.editor "编辑器名称":告诉git你设置的默认编辑器是什么

$ git config --global commit.template 模板名称或者模板绝对路径:告诉git你设置的提交模板是什么

创建版本库

git init :把这个目录变成Git可以管理的仓库;

添加文件到Git仓库分两步:

git add :把文件添加到仓库,可反复多次使用,添加多个文件(实际上是把文件修改添加到暂存区);

git commit:把文件提交到仓库(把暂存区的内容提交到当前分支);

时光机穿梭

git status:掌握仓库当前的状态;

git diff:查看对文件做了哪些修改;

git log:显示从最近到最远的提交日志;

git reset --hard HEAD^:回退到上一个版本;

git reset --hard 3628164:回退到commit_id为3628164的版本;

git reflog:记录每一次命令commit_id;

git rm --cached 文件名:可以将文件状态还原为未暂存状态

git stash:将当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候工作区和上一次提交的内容是完全一样的

git stash pop:把放在栈中的代码合并到本地

管理修改

git diff HEAD -- file:查看工作区和版本库里面最新版本的区别;

git checkout -- file:丢弃工作区的修改;

git reset HEAD file:把暂存区的修改撤销掉(unstage),重新放回工作区;

删除文件

git rm file:删除该文件;

git checkout -- file:把误删的文件恢复到最新版本;

远程仓库

ssh-keygen -t rsa -C "youremail@example.com":创建SSH Key;

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

git remote add origin git@github.com:LAOZIZUIKU/learngit.git:把一个已有的本地仓库与你的github账号关联

git push -u origin master:把本地库的所有内容推送到远程库上;

git push origin master:把本地master分支的最新修改推送至GitHub;

git checkout --track origin/branch:是追踪一个远程分支,并且在本地创建和关联它,然后切换到这个分支

git branch --set-upstream debug origin/branch

从远程库克隆

git clone git@github.com:LAOZIZUIKU/gitskills.git:克隆一个本地库;

分支管理

git branch:查看分支;

git branch name:创建分支;

git checkout --track origin/branch:远程有分支,本地没有创建

git checkout name:切换分支;

git checkout -b name:创建+切换分支;

git push origin branch:将本地新建分支push到自己的本地远程origin上;

git branch --set-upstream-to=origin/branch:把本地分支与远程origin的分支进行关联处理(通过 --set-upstream-to 命令)

git merge name:合并某分支到当前分支;

git merge --no--ff -m "xxxxx" dev:当前分支和dev分支合并,并创建新的提交点;

git branch -d name:删除本地分支;

git push origin --delete BranchName

合并时冲突是如何产生的

git的实现途径类似于一棵树,比如我们基于一个项目创建了两个分支,就好似两个结点,如果我们对于两个结点做了相同的操作,都对于同一个地方进行了修改,那么就不知道应该保留哪一个操作了,此时就会产生冲突。

如何解决冲突:保留自己修改的数据,同时保留别人的数据信息。先commit到本地仓库,再pull,使文件发生改变,直接修改文件中数据,将特殊符号删除,保存文件,此时再push

git库所在的文件夹中的文件大致有4种状态:

Untracked:未跟踪, 此文件在文件夹中,但并没有加入到git库,不参与版本控制。通过git add 状态变为Staged

Unmodify: 文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致。这种类型的文件有两种去处,如果它被修改,而变为 Modified。如果使用 git rm 移出版本库,则成为 Untracked 文件

Modified:文件已修改,仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过 git add 可进入暂存staged 状态, 使用git checkout 则丢弃修改过, 返回到 unmodify 状态,这个git checkout 即从库中取出文件,覆盖当前修改

Staged:暂存状态,执行git commit 则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为 Unmodify 状态. 执行git reset HEAD filename 取消暂存, 文件状态为Modified

应该提交哪些文件:提交的代码不会对项目带来负面影响

未完待续.....

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,851评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 3,899评论 0 11
  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 2,046评论 0 18
  • 周末收到的会议通知,没有笔记本在手边,就没有及时记录。 觉得是很重要的会议,不可能忘记。事实证明随便好重要都不要挑...
    冰小寒阅读 301评论 0 1
  • 以往,当各种疼痛来袭,不论身痛,心痛,极度痛苦,哀怨,恐慌,沮丧,崩溃。 而现在,我静静深呼吸,听听音乐,写写文字...
    新灯阅读 171评论 0 0