Git教程

Git简介

集中式vs分布式

svn属于集中式管理,git属于分布式管理。

安装Git

MacOS 安装Xcode后默认安装Git。

创建版本库

git init git add

$       cd ~/Desktop/
$       mkdir GitResponse
$       cd GitResponse/
$       ls -a
输出: .   ..
$       git init
$       ls -a
输出      .   ..  .git

此时可以看到文件夹中有.git的文件,说明git仓库构建成功。Git只能跟踪文本文件的改动,比如.txt文件,网页,程序代码等。

$ touch readme.txt

新建一个文件readme.txt使用$ git add readme.txt将文件加入仓库。执行完毕以后如果没有任何提示,则表明添加成功!UNIX思想没有消息就是好消息

git commit -m ""

$       git commit -m "新建readme.txt文件"
输出: [master (root-commit) f242d2d] 新建readme.txt文件
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt

git status

我们尝试修改readme.txt后 使用git status命令

$       git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

说明修改的文件未提交。 readme.txt文件未提交。

git diff

git diff命令用来查看文件修改的地方

$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 25fb339..344dba9 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,2 @@
 这是Git仓库。
+开始学习Git。
\ No newline at end of file

其中 +开始学习Git就是修改的地方。

$ git add readme.txt
$ git commit -m "readme.txt 新增一句话:开始使用Git"
[master 5db8876] readme.txt 新增一句话:开始使用Git
 1 file changed, 1 insertion(+)
 $ git status
On branch master
nothing to commit, working directory clean

版本回退

git log 查看提交日志

git log --pretty=oneline

git reset --hard 版本号

HEAD^上个版本

HEAD^^上上个版本

HEAD~100

git reset --hard HEAD~1

git reflog 查看命令行记录

删除文件

git rm <file> 用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

远程仓库

origin Git默认是远程仓库

分支管理

创建与合并分支

Git 鼓励大量使用分支

git branch 查看分支

git branch <name>创建分支

git checkout <name> 切换分支

git checkout -b <name> 创建+切换分支

git merge <name> 合并某分支到当前分支

git branch -d <name>删除分支

解决冲突

同时在两个分支中修改统一文件的位置后。合并代码便会发生冲突。

$ git merge dev
error: merge is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

此时提示合并有冲突.

git merge --no-ff -m "merge with no-ff" <branch name> 合并分支时候建议使用。可以查看其他分支的提交信息。

Bug分支

git stash 工作现场保存。
git stash apply 回复工作现场 但是不会删除stash内容

git stash drop 删除保存stash

git stash pop恢复并删除

多人协作

git remote -v 查看详细的远程仓库信息

git push origin <branchName> 所有本地提交推送到远程仓库

git pull 从远程仓库拉去最新代码

git checkout -b <branchName> origin/<branchName>本地创建和远程分支对应的分支

git branch --set-upstream-to <branchName> origin/<branchName> 建立本地分支和远程分支的关联

标签管理

创建标签

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

推荐阅读更多精彩内容

  • chapter 1: 如何创建版本库 初始化一个仓库 $ git init 添加文件到Git仓库的过程: $ gi...
    飞将军阅读 2,853评论 0 2
  • 本系列教程来自廖雪峰的官方网站,现在搬运过来,目的帮助自己和小白学习收藏!附赠:常用git命令清单 目录 前言 创...
    Blizzard_liu阅读 1,132评论 0 4
  • 夜里常常想起 那年夏天的离别 每一颗泪水都有要倾诉的必要 每一次欢笑都有被遗忘的可能 纷飞的各色的粉笔屑 是永远写...
    成诗阅读 275评论 0 2
  • 感恩健康让我和我的家人们生活在世界上不受身体上的痛苦,谢谢你我爱你健康 感恩我一生中所获得的所有金钱,感恩金钱为我...
    e61610af7098阅读 129评论 0 0
  • 早晨阅读,唤醒心目中的巨人,看书两页。晨练20分钟。上午上班空余时间购买了专栏,学习到的内容,要整理转化成自己的知...
    鹏九头阅读 253评论 1 5