代码需要储存在云端,github可以储存你的代码
SSH KEY如何验证身份?
电脑上放私钥,github账号里留下公钥,上传的代码用私钥加密,github用公钥解密,如果解开了,说明是配对的,是你自己的操作。
如何生成SSH KEY?
输入命令后一直回车,指导没有提示
随后得到下图
输入代码后,生成id_rsa.pub公钥和id_rsa私钥。
cat ~/.ssh/id_rsa.pub得到公钥内容粘贴到github,点击头像——setting——SSH and GPG keys——new SSH key——填入公钥内容
ssh [email protected],问你回答yes或no,输入yes+回车,就设置好了
新建仓库
除了仓库名称,其他全别写,什么都不要勾选。(针对新手)
git remote add origin git @xxxxxx
作用:在本地添加远程仓库,origin是远程仓库的默认名字,可以改但不建议。
下载自己的代码不要使用https://地址,因为每次都要输密码。
下载自己的代码用ssh,下载别人的用https
git push -u origin master
-u origin master意思是设置上游分支,之后就不用再设置了,直接git push、git pull
作用:推送本地的master分支到远程的origin的master
如果这时候提示你应该git pull...,就pull一下
遇到这种情况,直接运行git pull,然后再push
git pull是先把远程分支合并到本地对应分支,如果远程分支没有被修改(更新)过,才能省略git pull
pull可以理解为把代码从远程拉进来,push则是推出去,推到远程仓库也就是上传.
上传其他分支
法一:git push origin x:x 法二:先git checkout x,再git push -u origin x
下载代码
1. git clone git@xxxxxxx[目标路径] 如果不是同一台电脑,要上传新的ssh key(一机一key)
2. cd进入目标路径 , 然后再git add / git commit / [git pull] / git push
下载分支:先下载整个仓库,然后再git checkout 分支名
git clone git@?/xxx.git会在当前创建一个xxx目录,xxx.gitx是本地仓库(下载完代码记得一定要cd xxx)
git clone git@?/xxx.git yyy会再本地新建yyy目录
git clone git@?/xxx.git . 会使用当前目录储存代码和.git目录,最好是用空目录。
大部分的时候,只会用到git push/git pull /git clone三个命令
远程仓库只是本地仓库的备份,所以变化都要先commit到本地仓库,然后再push到远程仓库
无法下载部分代码,只能clone整个仓库
git高级操作
使用bash alias简化命令
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
就可以使用简化命令了
打开code ~/.bashrc ,在文件最后加上:
alias glog="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- | less"
得到一个好看的git log
git rebase -i xxx(提交号)美化历史提交
git stash/git stash pop
不想提交代码又不想删除,用stash可以找个空间把代码临时藏起来
git stash pop把藏起来的代码取出来
git remote –v 查看远程库的详细信息
本文为本人的原创文章,著作权归本人和饥人谷所有,转载务必注明来源