Git
2018-06-03 本文已影响0人
小春子乖乖
git的两种使用方法:
- push自己的项目
- pull公共项目
如何push自己的项目
点击"New repository"新建仓库
- 填写"Repository name","Description",可写可不写
- 选择"public" (公共库,公共库免费,私有库需付费)
- 第一次可勾选README (代码的说明,如果会用就不需要勾)
- 点击"Create repository"创建仓库
进入新建的仓库
- 点击"Clone or download"
- 显示的是https地址 (https地址后面封装需要填入用户名和密码),改选"Use SSH"
- 拷贝此地址至iTerm中的目标文件夹,地址前记得 加"git clone" ,下载完成后,如果不重命名,默认名即仓库名。
- 此时报错"fatal: Could not read from remote repository.",因为没有设置公钥。
创建公钥
-
创建一个公钥私钥对:输入 ssh-keygen -t ras -b 4096 -C "github邮箱地址",回车再回车~
-
找到生成的:私钥:Your identification has been saved in /Users/sharon/.ssh/id_rsa.
公钥:Your public key has been saved in /Users/sharon/.ssh/id_rsa.pub.
如何确认是否已生成:
iTerm下,cd -/.ssh/
ls
目录下有id_rsa id_rsa.pub
pwd
显示:/Users/wingo/.ssh (.ssh默认是隐藏文件夹)
ls
cat id_rsa.pub (拷贝公钥)
-
iTerm 输入:cat ~/.ssh/id_rsa.pub
-
copy生成的字段。。(或用vim编辑cat ~/.ssh/id_rsa.pub)
-
回到github,头像边上进入"settings" 下的"SSH and GPG keys",点击右上角“New SSH key" (此页面下方 "? Check out our guide to generating SSH keys or troubleshoot common SSH Problems "可以查看创建公私钥的方法)
-
title自己定,key复制过去,点"Add SSH key"添加, 此时页面会跳到登陆页面,点击登陆,否则重新clone会失败!!
-
回到iTerm重新输入git clone+"Use SSH"的地址,即可
push至github
- iterm中,cd sharonblog (切换到blog)(ls,可看到里面只有README.md)
- touch index.html (创建index.html)(或,vim index.html,输入"hello"等,再退出)
- git add . (添加到暂存区)
- git commit -am "addfile" (提交到本地库)
- git push origin master (推送到github远程库)
查看项目可预览页面
- github个人中心,左边,Repositories下,选择项目
- settings
- 倒数第二个模块,"GitHbu Pages"
- "Source",选择"master branch"
- 点击"GitHub Pages"模块下第二行“Your site is published at https://s******.github.io/******blog/" 中的网址,即可查看。
- 初次提交需要设置姓名和邮箱,以便让git知道是谁提交的。
- git config --global user.name "S***********"
- git config --global user.email "**********@gmail.com"
- 添加文件并提交
- 创建文件 :touch a.md
- 在文件里写入一个字符串 :echo "hello" > a.md (此时ls可看到多了a.md)
- 查看文件状态 :git status (此时处于Untraked files状态,即未放入暂存区)
- 放入暂存区 :git add .("."即把所有新增及修改的文件放入暂存区)
- 再次查看文件状态,此时变成"Changes to be committed",use"git reset HEAD <file>..." to unstage,此命令可以将文件从暂存区拿出来
- 把暂存区提交到本地库:git commit -am "add file" (a和m都是参数,-a,即所有修改全部提交。m后面是本次提交的备注,方便后面查看,如果直接输入-a,会重新进入vim界面要求写备注)
- git push origin master (操作过一次后只要写git push即可)
修改删除文件
- git pull
- 修改文件
- vim a.md (在vim界面。按"i"或"a"可进入编辑状态,esc则退出编辑状态,此时为命令状态,输入:wq保存退出vim)
- git add. (可以不放入暂存区,直接push,这样都话,这一步跳过)
如果提交消息包含大量字符串,则提交参数不用加 m
- push文件
- git commit -a
- git push origin master
- rm -rf a.md
- git add .
- git commit -am "delete a.md"
- git push
本地创建一个git项目推送到远程空仓库
- git log (查看日志,q可退出)
- 仓库和文件夹的区别在于仓库下有一个隐藏的.git文件夹,如果删除仓库里的.git文件夹,就变成一个普通文件夹了。
- 查看本地库里记录的远程库地址:git remote -v
- 强制推送,会覆盖别人的代码,慎用 :git push -f origin master
- 添加一个远程库的标签:git remote add gitlab git@gitlab.com***.git
- 推送到gitlab标签的地址上:git push gitlab master
- 删除gitlab标签:git remote remove gitlab
- 修改origin标签对应的地址:git remote set-url origin git@github.com***.git
- 把gitlab标签改名为coding:git remote rename gitlab coding
github使用总结
方法一:
- github创建仓库 (已添加README.md)
- clone
- push
方法二:
- github创建仓库 (已添加README.md)
- 本地初始化仓库 (git init)
- 绑定链接到origin (git remote add origin ssh地址)
- 代码拉到本地 (git pull origin master)
- push
- 若创建仓库时未添加README.md,按创建好仓库后的提示操作即可
分支
查看分支:
git branch -a (蓝色代表本地分支,红色代表远程分支,*
代表所在分支,q可退出)
创建分支:
git branch develop
切换分支:
- git checkout develop
- touch b.md
- git add .
- git commit -am "add b.md"
- git push origin develop
合并分支:
- git checkout master
- git merge develop
- git push origin master
冲突
- 两边push后发生冲突,pull代码,修改冲突,重新push