GIT

git初次使用

这里说个有趣的事,如果电脑上之前没有git,为了使用,去下载一个,初次使用git需要设置姓名和邮箱,每次提交至远程,git都有记录,知道是谁提交了什么

git config --global user.name “Jhon”  
git config --global user.email “johndoe@example.com”

设置好之后,以后所有的仓库都不用再重新设置
还有一种情况就是电脑里的git有其他人使用过,那么需要把git默认用户名及邮箱进行更改

首先,用config --list查看下当前有没有默认的用户名及邮箱

如果有,那么进行如下操作更改;

git config --gloabl --replace-all user.name "Mary"
git config --global --replace-all user.email "123456@qq.com"

那么git的的用户名及密码就已更改,在后期工作中,如果哪天你的代码造成重大 bug,方便产品经理来砍你

Git使用优势

关于版本控制,版本控制是一种记录一个或若干个文件内容,以便将来查阅特定版本修订情况的系统。
版本控制有三种:本地版本控制系统,集中式的版本控制系统(SVN)有一个服务器,如果A修改,从服务器拉过来,改完再上传服务器,B可以再改。服务器是一个集中的中心节点,所有操作都必须提交到中心节点。缺点:断网,提交不了;服务器坏了,全没有了。
分布式版本控制系统(Git):本地、远程都有一个仓库,两个仓库是一样的,本地仓库没有问题,再提交至远程仓库。断网时可先保存至本地仓库,相对安全。

  • 可随时查看之前版本,多人合作时,我改完,上传,别人再接着改,可以简单实现分支管理。
  • 速度快
  • 设计的原理简单
  • 允许上千个并行分支
  • 分布式

git hub的注册

1.
git hub的注册.png

2.
GitHub登录页面.png
GitHub初次进入的页面.png

3.##一般第一次进入git hub点击新建一个项目就会进入如下页面:


在远程创建一个test的仓库.png

创建一个远程库后,发现右侧的clone 或者download协议一般默认是https,需更改为ssh协议

image.png

此外还有一种,是之前有git hub 账号,进入之后,在右中部有一个 New Respository


新建一个仓库.png

此步骤跟上面基本一致
填写repository name ,点击create repository


Create a New Repository.png

4.https(每次都需要用户名和密码),一般选择SSH协议(在使用过程中,不需要输入用户名和密码,需要设置公钥和私钥对,公钥进行匹配 ssh-keygen -t rsa -b 4096 -C+地址公钥给别人,私钥留给自己,进行匹配)
点击Git Hub里的个人设置settings,创造新的SSH密钥,


image.png
image.png

image.png

image.png

image.png

5.复制内容至Git Bash,之后一直点击回车键即可


image.png

6.此时已生成ssh.pub文件,切换cd到家目录下的.ssh文件,ls查看文件夹下的内容,复制cat id_rsa.pub
image.png

7.复制以上内容,到git hub上
image.png

8.git clone 将Git Hub上的blog文件(前期在github 上新建的仓库)拷贝至本地仓库


myc901225 blog1 我的博客.png
myc901225 blog1 我的博客.png
image.png
  1. cd blog1,切换到blog1文件,ls blog1查看blog1下的文件,vim index.html,并在vim编辑内容并保存,git add . 将index.html添加到本地仓库,git commit -am "add",提交,git push origin master推送到Git Hub.

可以将Git Hub上设置为网页代码,可让别人看的

1.进行设置


image.png

2.将GitHub Pages设置为master branch 并保存


image.png

3.即可以显示代码及页面


image.png

github在本地创建仓库,将远程的信息克隆到本地,操作,再推送

  • 已提交的(mommitted)该文件已经被安全地保存在本地数据库中
  • 已修改(modified)修改了某个文件,但还没有提交保存
  • 已暂存(staged)把已修改的文件放在下次提交时要保存的清单中
    1.选择你的项目保存文件夹,
    cd test
    2.将远程仓库的内容克隆至本地项目文件夹test
    git clone git@github.com:Super-Mary/test.git
    3.添加文件夹及文件
    touch a.html 添加文件
    mkdir abc 添加文件夹
    echo "hello" > a.html,将“hello”导入a.html
    4.将文件放入暂存区
    git add . 当前文件夹下的所有新增和修改都放入
    5.git status检测是否是暂存区内容
    6.将所有的变动放入本地仓库
    git commit -am "add"(-a是所有的,m是备注 “”里面些什么都可以)
    7.推送
    git push origin master(第一次使用,其他可使用git push)已推送至远程分支
Administrator@PC-20170629JWFL MINGW64 ~
$ git config --global myc901225
error: key does not contain a section: myc901225

Administrator@PC-20170629JWFL MINGW64 ~
$ git config --global user.name myc901225

Administrator@PC-20170629JWFL MINGW64 ~
$ git config --global user.email 572280245@qq.com

Administrator@PC-20170629JWFL MINGW64 ~
$ pwd
/c/Users/Administrator

Administrator@PC-20170629JWFL MINGW64 ~
$ mkdir test

Administrator@PC-20170629JWFL MINGW64 ~
$ cd test

Administrator@PC-20170629JWFL MINGW64 ~/test
$ git clone git@github.com:myc901225/blog2.git
Cloning into 'blog2'...
The authenticity of host 'github.com (192.30.255.113)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Administrator@PC-20170629JWFL MINGW64 ~/test
$ git clone git@github.com:myc901225/blog2.git
Cloning into 'blog2'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Administrator@PC-20170629JWFL MINGW64 ~/test
$ ssh-keygen -t rsa -b 4096 -C "572280245@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:e09AoJvXEzl32UT7fIrAhtaBSM14PfVa8bMKGqlFXmc 572280245@qq.com
The key's randomart image is:
+---[RSA 4096]----+
|      .+.. .. ..o|
|     ..o+oo. . *.|
|      o...*o.E=oo|
|       oo*o=o+ .+|
|      o S=O..  .+|
|       oooo+.....|
|       .... o..  |
|         . o     |
|            .    |
+----[SHA256]-----+

Administrator@PC-20170629JWFL MINGW64 ~/test
$ ls

Administrator@PC-20170629JWFL MINGW64 ~/test
$ pwd
/c/Users/Administrator/test

Administrator@PC-20170629JWFL MINGW64 ~/test
$ cd ~/.ssh

Administrator@PC-20170629JWFL MINGW64 ~/.ssh
$ ls
id_rsa  id_rsa.pub  known_hosts

Administrator@PC-20170629JWFL MINGW64 ~/.ssh
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCzG23/s2MBGIowxWw992DSdvHmONicL+dtxxogfcgXFAGuc5KIpdZlVq5gw/45OHZHbHjj0t4DhOxXvhn1GCgA44tA678+CEwMAOi5qXa0LfMY4EfaE6k0gfMVhv+AB01Yimkmn6sb02hUEmONyVpNoG+TQbvRkmEMIT3dI8pAVBxK44lqrlkiiljxxIa5ErHm+MnhAtlEWyjBxD+AM87lmpRy3yfudwC3zwfO1aLyX6HqIyvcDOsKxMz0MpUp6w9P+z1C5JcBe/pkOoycfNs1YUEJh9WNfyicgejJxriJPZIDsDKklDd8pS2Vqwu3ur1vgrKtQlqlsxweWhjm48h+mfErG4OxCy+b4HyT9fDUBULZ5F1hiQ4Uc/WuuuCVa9Z93Pt+DnZrDmfiOvMK25pI4B6BmH3dpMgI6cm4U2LCK3N2lrGke7rg++PSacHYQuYFXi6gMZEd3/6hnehHQr+sQ98js5jAPKgfkeVWIV5DJHImwZ2kJsd6/aOEaK18rWkUmqkMEaSrR0Df4nefOKJ8I1+o7qGpc7o4VL7ih6SJQSJR3iATTDtLMhrdJcMszHfbpipuZBcxpCjGeLdYfbspBh6Zpg0LSeD+zsgDnYgCf7jgNFEF14EXOJpMNVT9pd6fJRvpcWXwDbiL6MB/J7bIVX40/W4DIb7FO7MkVNJecQ== 572280245@qq.com

Administrator@PC-20170629JWFL MINGW64 ~/.ssh
$ cd ../

Administrator@PC-20170629JWFL MINGW64 ~
$ pwd
/c/Users/Administrator

Administrator@PC-20170629JWFL MINGW64 ~
$ cd test

Administrator@PC-20170629JWFL MINGW64 ~/test
$ mkdir blog3

Administrator@PC-20170629JWFL MINGW64 ~/test
$ git clone git@github.com:myc901225/blog2.git
Cloning into 'blog2'...
Warning: Permanently added the RSA host key for IP address '192.30.255.112' to the list of known hosts.
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

Administrator@PC-20170629JWFL MINGW64 ~/test
$ touch 重识markdown.md

Administrator@PC-20170629JWFL MINGW64 ~/test
$ vim 重识markdown.md

Administrator@PC-20170629JWFL MINGW64 ~/test
$ git add .
fatal: Not a git repository (or any of the parent directories): .git

Administrator@PC-20170629JWFL MINGW64 ~/test
$ cd blog2

Administrator@PC-20170629JWFL MINGW64 ~/test/blog2 (master)
$ git add .

Administrator@PC-20170629JWFL MINGW64 ~/test/blog2 (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   "\351\207\215\350\257\206markdown.md"


Administrator@PC-20170629JWFL MINGW64 ~/test/blog2 (master)
$ git commit -am "add"
[master 15b30c1] add
 1 file changed, 1 insertion(+)
 create mode 100644 "\351\207\215\350\257\206markdown.md"

Administrator@PC-20170629JWFL MINGW64 ~/test/blog2 (master)
$ git push origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 308 bytes | 308.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:myc901225/blog2.git
   dbd094a..15b30c1  master -> master

若远程的东西已修改,本地仓库没有修改,在推送之前,用git pull将远程的仓库和本地仓库自动合并,并进入VIM编辑器的命令模式,没有问题直接退出保存即可,再重新执行git add . git commit -am "add" git push即可。

修改删除文件

mkdir abc创建abc文件夹
cd abc 在abc文件夹下操作
touch a.html 新建a.html文件
vim a.md 编辑保存退出,
git stastus
git add .
git commit -a进入VIM编辑器,可进行修改,保存退出后,git push即可
删除文件
可用git add .
git commit -am "delete b.html"
git push
本地新建空文件夹,需要git init使本地文件夹初始化仓库,如果起初没有仓库,这样会覆盖,用一个空文件夹覆盖 .git文件夹即为仓库
git remote add origin 远程仓库的地址,给远程仓库起名为origin,方便记忆
用的时候再本地即可 git push origin master
git remote -v查看本地库里的远程库地址
git push -f origin master将本地仓库,强制推送,觉得远程没有用,直接推送,可以覆盖所有
git remote add
git remote remove abc删除abc标签
修改origin标签对应的地址
git remote set-url origin 新的地址
分支操作:实现了多个人同时开发多个功能,待各自开发完成后,合并主干,即为最新的。
git branch -a查看所有分支,红色的远程分支,蓝色的是本地分支,*是当前所处分支
open可打开文件
git checkout master 切换到主干
不同分支展示的内容是不同的
在本地创建一个分支,经过修改,再合并
git branch dev
git checkout dev
touch a.md
git add .
git commit -am "add a.md"
git push origin dev
git checkout master
git merge dev
git push origin master
当自己和别人改同一个文件的同一个地方,在执行git pull时更新本地合并时会出现冲突
远程有别人更改为index.html为“你好”,而本地自己更改index.html为“Hello”,提交时会产生冲突,git执行自动合并时,不知道要怎么办。选择哪一个,需要手动打开文件,进行修改,修复冲突的方法就是 vim index.html 找到文件,并修改

git bash 命令行

pwd当前终端窗口所在位置,查看当前文件的路径
ls 查看当前目录下的文件,不包括隐藏文件
ls -a 查看当前千目录下的文件,包括隐藏文件
ls -al查看当前目录下的文件的详细信息,包括隐藏文件
cd切换目录 cd +文件名,下一级文件
cd ../上级文件
cd /c/projrct打开c盘project文件夹
cd code 打开code文件夹
cd ../css打开上级目录的css文件夹
cd ~/Desktop 打开桌面上的,家文件
tocuch a.html新建一个a.html文件
rm a.html删除a.html文件,但是不能删除文件夹
rm -r tasks 删除tasks文件夹,会有进一步提示是否删除
rm -rf tasks强制删除tasks文件夹,直接消失
mv a.html abc.html把a.html重命名为abc.html
mkdir www创建一个www的文件夹
cd /根目录
~家目录
clear是清空当前内容

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

推荐阅读更多精彩内容