元元的前端之路-003-Git远程仓库

166 阅读3分钟

创建ssh key
ssh-keygen -t rsa -b 4096 -C 邮箱地址
之后连续三次回车键即可
Your identification has been saved in /Users/wangyuanyuan/.ssh/id_rsa.
Your public key has been saved in /Users/wangyuanyuan/.ssh/id_rsa.pub.
id_rsa 就是私钥 id_pub就是公钥
上传代码是用私钥加密,Github用公钥解密

打开GitHub首页-SSH and GPG keys-如何打印公钥呢?
命令:cat ~/.ssh/id_rsa.pub
测试命令:ssh -T git@github.com
terminal会打印出github方的公钥
第一次连接github的时候要选择yes来接受对方的公钥
成功情况:Hi wangyuanyuan7890! You've successfully authenticated, but GitHub does not provide shell access.

上传代码
新建Github Repo,复制其ssh地址
复制页面里面的代码

git remote add origin git@XXXXXX
在本地添加远程仓库地址
origin是远程仓库的默认名字,可以换,但是建议不要换
不要使用https://地址 ,因为每次都需要密码

git push -u origin master
推送本地master分支到远程origin的master分支
如果提示你应该git pull...,那就git pull一下
git pull是先把远程的分支合并到本地对应的分支
如果远程分支没有更新过,才可以省略git pull
-u origin master的意思是设置上游分支
image.png 之后就不用再设置上游分支了,直接git pull;git push;

如果需要push到另外一个分支怎么办?
方法一:
第一步 git branch test1 创建新分支
第二步 git branch checkout test1 将状态切换到当前新建分支
第三步 git add 文件名
第四步 git commit -v / git commit -m "注释内容"
第五步 git push -u origin test1 因为这是第一次向新分支提交,需要声明一下
image.png
image.png 方法二:
git push origin x:x 左边是源头 右边是目标

tips:本地代码的储存位置并不会影响代码和远程仓库的一致性
如何下载别人的代码?
如果是自己的代码,用ssh,ssh和自己的设备绑定,ssh协议传输速率高一些 如果是别人的代码,用ssh或者https,电脑没有和其他人的设备绑定 · 如何下载代码?
git clone git@XXXXX [目标路径]
如果是不同的机器,则需要写上传新的ssh key(一机一key)
cd 目标路径
git add / git commit / [git pull] / git push
· 四连操作中git pull是可以选择的,例如同事更改了远端的代码,就得先git pull,才能git push · 如何下载某个分支
先下载整个仓库,然后git checkout 分支名
image.png

辨析三种git clone

· git clone git@?/xxx.git
会在当前目录下创建一个xxx目录
xxx/.git 是本地仓库
一般需要接一句 cd xxx
第一种是用原目录名

· git clone git@?/xxx.git yyy
会在本地新建yyy目录,记得 cd yyy
第二种是改一个目录名

· git clone git@?/xxx.git .
最后一个字符是点,注意有空格
不会新建目录,使用当前目录容纳代码和 .git
当前目录一开始最好是个空目录,不然后果自负
第三种是创建一个目录,cd进去,再把代码灌进来

Git高级操作

touch ~/.bashrc
echo 'alias ga="git add"'>> ~/.bashrc
echo 'alias gc="git commit -v"'>> ~/.bashrc
echo 'alias gl="git pull"'>> ~/.bashrc
echo 'alias gp="git push"'>> ~/.bashrc
echo 'alias gco="git checkout"'>> ~/.bashrc
echo 'alias gst="git status -sb"'>> ~/.bashrc

然后重启命令行,或者运行source ~/.bashrc就可以使用这些命令了

Git通灵术

git stash / git stash pop
你不想提交代码,又不想删除代码
那么就可以找个空间把代码临时藏起来
git stash会把git add添加但未提交的文件隐藏起来

一般来说,git stash藏起来是为了下一步运行git pull
因为有可能远程仓库有与本地仓库同名的文件,如果不隐藏,就会造成冲突
执行完git pull之后再git stash pop把隐藏文件弹出来

GitHub写博客

  • GitHub可以直接预览Markdown,Markdown是标记语言,后缀一般为.md/.markdown
    基础语法列表