一. git 上传到远程仓库
0)第一次用git需要配置用户名和邮箱,之后就不用了。
1)用 git remote -v 查看已添加的远程地址,并用 git remote remove <远程主机名> 及时删除之前的地址,以防传错覆盖【传错可考虑第二步中的回滚操作】
2)用 git remote add <远程主机名> <远程git仓库的 https 链接> 添加待传的远程主机名
2)用 git status 查看当前状态,红色字体显示修改了的文件
3)用 git add . 或 git add <修改文件名> 提交文件到本地缓存区。前者表示全部,后者可选想提交的
4)用 git commit -m "<随便取名>" 提交修改到本地 git 库中
5)用 git pull <远程主机名> 取回远程主机某个分支的更新,再与本地的指定分支合并。
若出现报错:“refusing to merge unrelated histories”,可以在pull命令后跟 --allow-unrelated-histories
出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题。
6)用 git push <远程主机名> 把当前提交到本地 git 库的代码推送到远程仓库
git config --global user.email "xxx@xx.com"
git config --global user.name "xxx" //第一次用git要配置邮箱和名字,之后就不需要了
git remote -v //查看已添加的远程地址
git remote remove origin //origin替换成待删的远程主机名
git remote add origin https://github.com/csxin0216/it5007_tutorial3.git //添加远程主机名
git status //查看当前状态
git add . //添加所有修改文件到本地缓存区
git add temp.py //只添加temp.py这个修改文件到本地缓存区
git commit -m "first attempt" //提交修改到本地 git 库中
git pull origin master //可以先不加,下一步报错了再加。origin替换成待上传的远程主机名
git push origin master //origin替换成待上传的远程主机名
二. git 回滚到之前的某次commit
情形1: 回滚到之前的某版本,且删除该版本之后的提交
1)用 git log 查看版本号(commit后的就是版本号)
2)用 git reset --hard <版本号> 命令回滚到之前某版本. 此时本地已经回滚,远程仓库还未回滚
3)用 git push -f 实现远程仓库的回滚
情形2:回滚到之前的某版本,但保留该版本之后的提交
1)用 git log 命令查看版本号(commit后的就是版本号)
2)用 git revert -n <版本号> 命令回滚到之前某版本
3)用 git commit -m "<随便取名>" 提交到本地 git 库
4)用 git push 命令推送到远程仓库
// 情形1:回滚且不保留之后的commit
git log //查看版本号(commit后的就是版本号)
git reset --hard 51e69eeb0a4d733e3d9326098212f523dd2d5ce9 //51e..替换成版本号的名字,本地回滚到该版本
git push -f //实现远程仓库的回滚
// 情形2:回滚但保留之后的commit记录
git log //查看版本号(commit后的就是版本号)
git revert -n 51e69eeb0a4d733e3d9326098212f523dd2d5ce9 //51e..替换成版本号的名字
git commit -m "revert_attempt" //提交到本地git库
git push //推送到远程仓库