git笔记初步

git笔记初步

1. linux命令

ls # 列出文件夹下的目录和文件
ls -a # 列出全部的文件,连同隐藏文件
ls -l # 列出长数据串,包含文件的属性与权限数据
cd 文件夹 #进入指定的目录
cd .. # 返回上一级
mkdir 文件夹名 # 创建一个文件夹'
pwd # 返回当前所在路径
rm t.txt # 删除t.txt文件
rm 文件夹名 -r # 删除www文件夹(递归删除)
rmdir 文件夹名 #删除文件夹
touch filename1 filename2 # 创建多个文件

使用vi编辑器创建文件

vi index.html

vi编辑器简单操作:

i,进入编辑模式(输入内容)按esc;

退出编辑模式到命令模式按shift+:;

再输入wq保存并退出(编辑模式)。

git命令

# 配置git
git config --list # 查看git配置
git config --global --list # 查看git全局配置
git config --global user.email "邮箱"
git config --global user.user "用户名"
git init # 初始化git仓库(initialization)
git add 文件夹、文件名 # 把文件夹、文件名添加到本地仓库
git add . # 添加当前目录下的所有文件到仓库
git status # 查看文件状态
git log # 查看提交历史
git log -p [-num] # 查看近[num次]提交的历史,并对比差异
git log --stat #显示简要的增改行统计数
git commit -m "comment" # 提交到本地仓库
git commit --amend # 修改提交的注释内容
git diff # 查看所有修改的内容
git diff file_name # 查看file_name文件修改的内容# 回到上一个版本
git reset --hard HEAD^ # 退回到上一个版本
git reset --hard id # 退回到未来的某个版本
git reflog 

把项目中的文件提交到本地仓库:

  • 添加需要提交的文件(git add [dfg])
  • 提交文件(git commit -m "comment")

添加到远程仓库

# 添加远程仓库

## 添加后远程仓库的名字叫“origin”,也可以叫其他的,但是一般都会叫origin
git remote add origin https://github.com/openexw/lear.git# 由于远程库是空的,第一次push时加上-u参数,git会把本地master分支推送到远程,# 还会把本地的master分支与远程的master分支关联起来,以简化下一次推送
git push -u origin master 
git push # 当前分支master推送到远程

修改远程仓库地址

git remote show # 查看远程仓库的名称
git remote show [origin] # 查看远程仓库origin的详细信息
git remote rm origin # 删除远程仓库地址
git remote add origin https://github.com/openexw/lear.git # 添加远程仓库

github ssk key配置

ssh-keygen -t rsa -C "your_email@example.com"## 连续回车
cd ~/.ssh # 进入生产ssh的目录
pwd # 查看当前路径
  • 打开ssh生的路径;
  • 使用文本编辑器打开id_rsa.pub,并复制文件中的内容;
  • 打开https://github.com,并找到settings选项(注意是你的账号的settings);
  • 选择SSH and GPG keys,并选择New SSH key按钮;
  • 将刚才复制的内容复制到key中;
  • 最后点击Add SSH key按钮。

分支

理解分支

分支其实就是从某个提交对象往回看的历史。默认为master

何时该使用分支

  • 试验性修改:测试新的算法或者为某个特别的模式重构部分代码
  • 团队协作
  • 增加新功能:为每个新功能的开发创建新的分支,完成该功能开发后,在将其合并到主分支上
  • Bug修改:修复代码中的bug,可以创建新分支来对该bug进行修改,然后将修改合并到主分支上
  • ......

分支相关的命令

# 查看分支
git branch# 创建分支
git branch testing# 切换到testing分支
git checkout testing# 创建并切换到该分支
git checkout -b v.01

# 合并分支
## 将testing分支合并到master分支
git checkout mastergit merge testing# 删除分支## 删除本地分支
git branch -d testing #删除名为testing的分支## 删除远程分支
git branch -r -d origin/study  #study表示远分支名字
git push origin :study

Note:

  • 如果合并分支时产生冲突,git也不知道该如何是好,这时就需要你手动修改代码了。
  • 因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

标签

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。标签也是版本库的一个快照。

创建标签

git tag v.0.1

# 给指定的com id打上标签
git tag v.0.9 63c1e36

查看所有的标签

git tag

操作标签

# 删除标签
git tag -d v.0.1

# 推送某个标签到远程
git push origin v.0.1
# 推送全部尚未推送的到远程服务器上的本地标签
git push origin --tags

# 获取指定标签的代码
git checkout tag_name 

# 删除远程标签(已经推送到远程上了)
## 1. 删除本地标签
git tag -d v.0.1
##  2. 删除远程标签
git push origin :refs/tags/v.0.1

自定义git

忽略特殊文件

在git工作区的根目录下创建一个特殊的.gitignore文件,然后把忽略的文件名填进去。配置文件可以不用自己写,github给我们写好了 .gitignore
忽略文件的原则:

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

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,645评论 9 163
  • 本文为 Git教程的学习笔记,教程源自廖雪峰的博客。这是一个由浅入深,学完后能立刻上手的Git教程。另,附上另一本...
    七弦桐语阅读 6,240评论 5 47
  • 最近两天一直很没有写作的状态。昨天晚上只入眠了三个小时,今天又去宜家采购了一些家居必需品,下午又购买和安装了一些家...
    琴栀子阅读 322评论 12 1
  • 班级情况 校区:科学创想机器人茂业店 时间:周日上午9-10点 学员:赵天成 教师:张玲 教学目标 1.了解测风仪...
    乐搭阅读 2,634评论 0 0
  • 遇到你之前 我从没想过 对未来的那个人的要求 遇到你之后 我才决定 如果未来不是你 我宁愿与孤独相伴
    抹茶and咖啡阅读 144评论 0 0