Github使用记录
Github使用记录
配置Git
$ ssh-keygen -t rsa -C "your_email@youremail.com"
改为自己的name和地址,继续回车,默认路径和密码,继续回车,生成.ssh,打开id_rsa.pub,复制key到github的setting中。
$ ssh -T git@github.com
验证是否连上github,显示You've successfully authenticated, but GitHub does not provide shell access
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
首次使用需要配置用户名密码;
$ git remote add origin git@github.com:yourName/yourRepo.git
配置远程地址,将本地仓库与远程库关联。改为自己的name和地址,yourRepo.git是刚才远程创建的仓库
查看已有的远程库
git remote
git remote -v (详细信息)
1. 创建一个版本库
$ mkdir Testgit
$ cd Testgit
$ pwd 显示当前目录
2.把仓库部署在Git上
$ git init
这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
3.把一个文件同步到远程git仓库
- 第一步,添加文件
$ git add readme.txt/*
- 第二步,提交改动到仓库
git commit -m "代码提交信息"
到这里是本地提交
- 第三步,提交到远程库
git push origin master
origin是配置时写的远程库名
现在远程github就跟本地同步了。
4. 将远程内容更新到本地
git pull
或
git pull origin master
如果有冲突,想要直接覆盖本地项目:
git reset --hard
git pull
5. 从远程克隆项目到本地
git clone ssh值/https地址
6. 使用分支
创建并切换分支dev
git checkout -b dev
#git checkout dev表示仅切换分支
#git branch 查看分支
在该分支下修改该项目的任意文件
将分支上的修改提交到本地,如果不push即对其他人不可见
git add *
git commit -m "修改数据库连接"
切换回主分支master
git checkout master
将dev分支修改内容推送到远程库
git push origin dev
最后合并分支与master,可能存在冲突
git merge dev
推送到远程master
git push origin master
7.删除项目内一个文件
- 先pull下来项目,再
dir #查看项目目录
git rm -r --cached .idea #以删除idea文件为例
git commit -m "delete .idea"
git push origin main
8. 多人协作开发
- 克隆到本地
git clone git@github.com:FatPuffer/**.git
- 进入项目,新建并转到分支
git checkout -b dev
- 修改后进行 add->commit->push
报错记录
error: failed to push some refs to 'git@github.com:'
这是一个文件冲突的错误
运行
git pull --rebase origin master
有报错:
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch`
git add *
git rebase --continue
git pull --rebase testgitorigin master
git push testgitorigin master
此时就将本地同步到远程。
- 克隆项目时出错
logon failed
解决:项目是private,因为没有此项目的权限