git笔记

一、git安装

git下载地址: https://git-scm.com/

安装时基本保持默认就可以了。

部分安装说明:

(摘自:https://www.cnblogs.com/smuxiaolei/p/7484678.html):



二、配置github账号和使用:

配置全局的用户名和邮箱

运行git目录下的git-bash.exe

在命令行中分别输入如下命令:

#设置邮箱
git config --global user.email "xxx@gmail.com"
#设置用户名
git config --global user.name "xxx"
#查看Git所有配置
git config --list
#删除全局配置项
git config --global --unset user.name

注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

github上创建ssh key

在github上创建ssh key让在提交代码到远程厂库时不用每次都输入密码

在github上clone项目到本地时,有2种方式https 和 SSH,它们的区别是:前者可以随意克隆 github 上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。

生成 SSH Key

ssh-keygen -t rsa -C "你的邮箱地址"

#代码参数含义:
    -t 指定密钥类型,默认是 rsa ,可以省略,还可以指定为 dsa。
    -C 设置注释文字,比如邮箱。
    -f 指定密钥文件存储文件名。可以省略,使用默认值 id_rsa 和 id_rsa.pub。

接着又会提示你输入两次密码(该密码是你 push 文件的时候要输入的密码,而不是 github 管理者的密码),当然,你也可以不输入密码,直接按回车(推荐, 因为对于大多数人来说,你的项目的价值都...)。那么 push 的时候就不需要输入密码,直接提交到 github 上了。

检查是否成功生成 SSH key

$ cd ~/.ssh

这两个命令就是检查是否已经存在 id_rsa.pub 或 id_dsa.pub。

添加 SSH Key 到 github 上

登录你的 github 账号,从右上角的 Account Settings 进入,然后点击左边菜单栏的 SSH and GPG keys,点击 New SSH key 将 .ssh/id_rsa.pub 的内容拷贝到 key 对应的输入框。Title 可以自己命名,默认的会使用你的邮件名称。

测试 SSH key 是否配置成功

ssh -T git@github.com

会有警告,不用管,输入yes确认即可,打印如下提示即配置成功:

...You've successfully authenticated,...

Github SSH key 使用

  1. 为已经检出的 repos 指定 github 账号

修改 .git/config 并找到 [remote "origin"] ,修改 url 的值为

[remote "origin"]   
    url = git@.github.com:user_name/repos_name.git
  1. 使用账号 clone 已存在的 repos

     git clone git@github.com:user_name/repos_name.git
    

github 上创建一个免费的域名

新建一个仓库,仓库名称必须是: 你的github账号用户名.github.io;如:你的用户名是test, 那么就应该为test.github.io,完成后稍等一会儿就可以使用 http://test.github.io访问了。

三、git常用的命令

  1. 初始化仓库。在当前目录下右键运行git-bash;输入如下命令将生产一个.git的隐藏目录。

     git init 
    
  2. 添加命令。将文件添加到暂存区里去

     git add 文件名
     如:git add README.md
    
  3. 提交文件的本地仓库

     git commit -m '提交的注释说明,只能提交暂存区的文件'
     git commit -am '提交的注释说明,忽略未被跟踪的文件,相当于git add和git commit -m'
    
  4. 获取文件是否存在未提交的。

     git status
    
  5. 查看文件中修改情况。注意:git对于图片、视频这些文件无法知道修改了什么,只知道大小的改变。

     git diff 文件名
     如: git diff xxx.txt
    
  6. 显示提交日志。

     #获取最近的提交记录
     git log 
     #简化日志显示
     git log -pretty=oneline
    
  7. 版本回退

     #强制回退到上一个版本
     git reset  --hard HEAD^
     #强制回退到上上一个版本
     git reset  --hard HEAD^^
     #指定某个文件或目录回退到某个版本
     git checkout  ee25a1a3f9465 文件或目录
     如:  git checkout  ee25a1a3f9465 demo/demo.java
           git checkout  ee25a1a3f9465 test/demo
    
  8. 提交文件到远程仓库

     git push
    

四、git常用教程

以下内容来自(推荐去看原文):

1. git基础

git提交代码

git会在本地保存一个版本,即代码提交都是先提交到本地中,然后再提交到远程仓库。

#git 代码提交流程
暂存区-->HEAD(本地仓库)-->origin(远程仓库)

对应的命令:

#提交到暂存区
git add 文件名
#提交到HEAD(本地仓库)
git commit -m "提交说明"
#提交到origin(远程仓库)
git push origin master

更新与合并

#更新你的本地仓库至最新改动
git pull

获取(fetch) 并 合并(merge)

标签

为软件发布创建标签是推荐的。这个概念早已存在,在 SVN 中也有。你可以执行如下命令创建一个叫做 1.0.0 的标签:

git tag 1.0.0 1b2e1d63ff

1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符(不一定10位,只要保持唯一即可);获取id

git log

日志

#获取日志
git log
#查看某个人的提交记录
git log --author=username
#一个压缩后的每一条提交记录只占一行的输出
git log --pretty=oneline
#通过 ASCII 艺术的树形结构来展示所有的分支, 每个分支都标示了他的名字和标签:
git log --graph --oneline --decorate --all
#看看哪些文件改变了
git log --name-status

替换本地改动

#替换掉本地改动;此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件
git checkout -- <filename>

丢弃在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:

git fetch origin
git reset --hard origin/master

git之分支使用

分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。

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

推荐阅读更多精彩内容