Git 笔记

初始化 Git 仓库进入要作为为仓库的目录中,使用 git init 命令。
添加文件到Git仓库,分两步:

  1. 使用命令git add <file>,注意,可反复多次使用,添加多个需要提交的文件;
  2. 使用命令git commit -m <提交说明>,完成。

可以用 git status 查看工作区状态
如果通过 git status 查看到文件被修改过,可以用 git diff 查看修改内容

git log 可以查看提交历史,git log --pretty=oneline 可以查看简略的提交历史

tingshuo@LAPTOP-KIJFOIBO:~/learngit$ git log --pretty=oneline
234aac68f318a8373a546a976725252e1635ad28 (HEAD -> master) 添加 GPL
94443bff3384487b97e4d0af54aec88130f543c8 添加了 distrbuted
a08cd779d1bc1da4e70625f5543482037eab708e 添加了两行内容

其中前面的一长串是版本号,版本号后面的是提交说明
知道了版本号我们就使用git reset --hard 版本号 命令,可以回滚至任意版本,

tingshuo@LAPTOP-KIJFOIBO:~/learngit$ git reset --hard 234aac
HEAD is now at 234aac6 添加 GPL

HEAD 指的是当前版本,
还可以用 gitreflog 查看历史命令。

GIT 的名词解释:

  • 工作区(Working Directory)
    就是我们在电脑中正常的目录。

  • 版本库(Repository)
    工作区有一个隐藏目录 .git,这就Git的版本库。

    image

    其中版本库中的 stage 是暂存区,还有分支master

git add 命令其实是把修改的文件添加导暂存区;

add命令

git commit命令把暂存区的所有内容提交到当期分支;

commit命令

git add 命令其实就是把工作区文件的修改放到暂存区(Stage),然后,执行git commit命令暂存区的所有修改提交到分支。

Git跟踪并管理的是修改,而非文件,每次修改,如果不用git add到暂存区。那么使用 commit 提交时就不会把修改添加到分支 master

如果你修改了文件,想放弃修改时,可以使用放弃工作区修改命令:git checkout -- 文件名

如果你不但改了,还提交到了 暂存区时,想要放弃修改,你需要执行两个命令,首先要放弃暂存区修改git reset HEAD 文件名,然后放弃工作区修改:git checkout -- 文件名

git checkout 命令的作用其实是:用版本库里的版本替换工作区的版本。

git rm 文件名 从工作区删除文件,并将删除修改提交到暂存区,其后可以用 git commit -m "提交说明" 将修改提交到仓库。

如果是用文件管理器或者Liunx命令误删了,可以用 git checkout -- 文件名从远程仓库恢复

远程仓库

创建 SSH Key 命令(Linux在Shell中输入 Windows 在 Git Bash 中输入):
ssh-keygen -t rsa -C "xxx@xxx.com"
用自己的邮箱, 一路按回车使用默认值就可以了,会在用户家目录下生成 .ssh 目录,目录下有 id_rsa(密钥),id_rsa.pub(公钥),连个文件。

登录 Gitee 在个人设置中的SSH设置添加公钥,名字随便命名,将刚刚生成的 id_rsa.pub 里的文本内容输入保存即可。

添加一个远程仓库 git remote <远程仓库名> <远程仓库地址>, 如 git remote add gitee git@gitee.com:tingshuo123/learngit.git, 远程仓库可以有多个,名字不相同即可。

提交到远程仓库git push gitee master
如果提交时发生以下错误:

image.png

是文件冲突了,可以先拉下来合并

git pull origin master

再上传

git push gitee master

这样会保留冲突的文件。

也可以用强制推送,只是这样会舍弃远程仓库的冲突文件

git push origin master -f

分支

创建分支并切换到分支:git checkout -b devgit checkout 加参数 -b 表示创建。相当于下面两个命令:

创建分支:git branch 分支名
切换分支:git checkout 分支名

查看分支:git branch,前面带*号的表示当前分支

合并分支:git merage 分支名,将指定分支合并到当前分支。

删除分支:git branch -d 分支名

如果Git无法自动合并分支时,看可以手动解决冲突再提交,解决冲突就是把Git合并失败的文件手动编辑成我们需要的内容,然后提交。

查看分支合并图:git log --graph --pretty=oneline --abbrev-commit

分支策略

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以团队合作分支因该是这样的:

分支图

储存当前工作区:git stash
查看储存的工作区:git stash list
恢复储存的工作区:git stash apply
删除工作区:git stash drop
恢复同时删除工作区:git stash pop
如果有多个,恢复指定工作区

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

推荐阅读更多精彩内容