Win10上SSH Key获取和绑定Github
- 首先windows电脑上需要安装软件Git,且已注册Github账号
- 打开本地要上传的文件所在的文件夹,该文件夹即本地工作库
- 右键,选择git bash here,打开Git的命令行
cd ~/.ssh
,回车 ,看是否已有SSH Key,有则备份,无则新建ssh-keygen -t rsa -C "your email"
,一路回车,会在制定目录生成文件id_rsa和id_rsa.pub,前者是私钥,自己妥善保存,后者是公钥,与Github绑定时需要。
- 用notepad或者记事本打开id_rsa.pub,复制其中内容
- 登陆Github,点击头像,选择Settings
- 选择
添加SSH Key完成 ssh -T git@github.com
检查是否连接成功
Git语句
-
初始化
git config --global user.name "username"
,
git config --global user.email "user@mail.com"
-
git init
,在本地目录生成.git文件,代表该目录由Git管理 -
git status
,可用作查看该目录下文件状况 -
git add <file name>
,对指定文件进行跟踪(增删改等) -
git commit -m "message"
,提交本地仓库,-m后跟注释,记录所作修改 -
git remote add origin git@github.com:username/xxxx.git
,将本地仓库与Github的远程仓库关联 -
git push -u origin master
,提交到远程仓库,实现同步 -
git log
,查看日志,可以看到commit的hash值,用于撤销 -
git reset --soft commit_hash
,撤销上次commit -
git remote rm origin
,删除上次添加的远程仓库地址 -
git clone -b xxxx git@github.com:username/xxx.git
,克隆指定分支xxxx的内容到本地
使用Git基本流程
1、先有代码,还没有Git库
- 登陆Github,new一个新的库;
- 复制库链接;
- 在代码文件夹,右键 选择
Git Bash Here
; - 输入
git init
,进行初始化; - 输入
git remote add origin +库连接
,完成与远程库的关联; - 若在生成库时有自动添加 README.md和.gitignore文件,需要先在本地
git pull origin master
,(可能遇到问题二,解决见下文); - 若在本地已有README.md等文件,可能会有冲突,手动解决冲突即可;
git add .
git commit -m "write sth"
git push origin master
,完成!
2、先有Git库,在此基础上修改
- 复制已有Git库链接;
- 新建文件夹,作为将要下载的代码本地库;
- 右键,选择
Git Bash Here
; - 输入
git init
,进行初始化; - 输入
git remote add origin +库连接
,完成与远程库的关联; - 输入
git pull origin master
,或者git pull origin 分支名
; - 进行代码修改完善工作;
git add .
git commit -m "write sth"
- 1、使用
git push origin master
,将推送至远程master;
2、使用git push origin master:newbranch
,将推送至远程分支newbranch;(若无此分支,远程库可自动生成) - 1、在Github网页端会提示有新的分支推送,按照提示merge到master后,会自动提示删除分支newbranch;
2、在Git命令行中,依次输入:
git pull origin master
git merge origin/newbranch
git push origin master
git push origin --delete newbranch
可实现相同效果;
问题(更新中)
-
一、若提示
error:failed to push some refs to"xxxxxxxxxxxxxx"
,则提交本次修改之前,远程库与本地库未同步,此时需要先拉取远程库,与本地同步后再提交本次修改。
1、首先使用git pull --rebase origin master
,其中rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中 ;
2、也可以直接使用git pull -u origin master
;
3、再使用git push -u origin master
,提交到远程仓库,实现同步。 -
二、若提示“
fatal: refusing to merge unrelated histories
”,在操作命令后添加--allow-unrelated-histories
即可; -
三、若某步骤进入了VIM,先按字母 i 进入“插入”模式,按 ESC 至左下角无内容,输入
:wq
,即保存并退出