git学习笔记

初始化

创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。

ssh-keygen -t rsa -C 'youremail@qq.com'

本地仓库与远程仓库关联

#github
git remote add origin(远程仓库名称,可自定义) https://github.com/chc-1/gitTest.git
#推送
git push -u(后面推送省略) origin(远程仓库名称,也可以自定义为github/gitee) master

如果使用命令git remote add时报错,这说明本地仓库已经关联了一个名叫origin的远程仓库,

此时可以先用git remote -v查看远程库信息

git remote -v
#origin  https://github.com/chc-1/gitTest.git (fetch)
#origin  https://github.com/chc-1/gitTest.git (push)

解除与远程仓库origin的绑定关系

git remote rm origin

推送到远程仓库,使用命令

git push github/gitee master/dev

拉取远程仓库代码

git pull github/gitee master/dev

初始化git

#初始化git
git init 
git init 'xxx'
#git全局信息设置
git config --global user.name 'xxx'  
git config --global user.email 'xxx@xx.com'
#提交
git add . #将所有文件提交到暂存区
git commit -m 'xxx' #将文件提交到本地仓库
git push    #将文件推到远程仓库
git clone   #将远程仓库代码拉到本地
git log     #查看提交的日志
git log --oneline #查看日志精简
git reflog  #查看历史提交的日志(把git窗口关闭后)

在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

git reset --hard HEAD^ #回退到上一个版本
git reset --hard 1094a(版本号,可以不写全) #还原到未来版本

分支

分支的理解:(点击进入廖雪峰官网)

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

创建dev分支,并切换

git checkout -b dev #创建并切换到dev,git checkout加上-b参数相当于一下两条命令

git branch dev      #创建分支dev
git checkout dev    #切换到dev

查看当前分支

git branch
# *dev
# master

在分支dev中修改代码后切换到主分支master,合并分支

git merge dev

合并完成后删除分支dev

git branch -d dev   #合并后删除本地仓库分支dev
git branch -D <name>    #未合并,强行删除
git push gitee --delete dev #删除远程仓库分支

查看仓库分支

git branch -a
# fix
# * master
# remotes/gitee/master
# remotes/github/master

在本地创建和远程分支对应的分支

git checkout -b branch-name(dev) origin(gitee)/branch-name(dev)     #本地分支和远程分支最好一致

建立本地分支和远程分支的关联(三种方法有待实践)

git branch --set-upstream branch-name origin/branch-name
git branch --set-upstream-to <branch-name> origin/<branch-name>
git branch --set-upstream-to=origin/dev dev

switch

切换分支使用git checkout <branch>,而撤销修改是git checkout -- <file>

实际上,切换分支这个作用,用switch更科学,最新版本的Git提供了新的git switch命令来切换分支:

创建并切换到新的dev分支,可以使用:

git switch -c dev   #创建并切换
git switch master   #切换

解决冲突

.gitignore文件

忽略文件

在主目录下建立 .gitignore 文件,此文件有如下规则:

1.忽略文件中的空行或以井号(#)开始的行将会被忽略。

2.可以使用linux通配符,例如:型号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。

3.如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略

4.如果名称的最前面是一个路劲分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。

5.如果名称的最后面是一个路劲分隔符(/),表示忽略的是此目录下名称的子目录,而非文件(默认文件或目录都忽略)。

#为注释
*.txt       #忽略所有 .txt结尾的文件,这样的话上床就不会被选中!
!lib.txt    #但lib.txt除外
/temp       #仅忽略项目根目录下的TODO文件,不包括其他目录temp
build/      #忽略build/目录下的所有文件
doc/*.txt   #会忽略 doc/botes.txt 但不包括doc/server/arch.txt


参考资料:

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

推荐阅读更多精彩内容

  • Git 学习笔记 --- 安装和基本配置 基本资料 GitHub地址 https://github.com/ 感谢...
    陈小陌丿阅读 353评论 0 0
  • 学习廖雪峰的Git教程所记的笔记,Git教程 - 廖雪峰的官方网站https://www.liaoxuefeng....
    鱼得阅读 343评论 0 1
  • 操作系统 window10学习来源: http://www.liaoxuefeng.com/wiki 常用 创建...
    hopevow阅读 783评论 0 17
  • 前言:一直知道分布式版本控制系统git,但是无奈从来没有用过,有幸,最近公司开始改用git,故,利用上班空余时间,...
    Hi_Alice阅读 268评论 0 0
  • Git学习笔记 从零开始创建一个git项目 1、首先在自己的github上创建一个项目仓库repository,比...
    asminer阅读 200评论 0 1