一、先在gitee上面新建一个仓库 test
二、本地创建两个文件夹
user_A
user_B
三、分别在两个文件夹里面建立本地仓库
都使用命令:
git clone https://gitee.com/mwnn/test.git
建立了两个完全一样的仓库。
四、A用户修改文件
1)user_A 添加了一个文件 :“A创建的文件.txt”
将文件添加到暂存区:
git add .
2)提交到本地仓库:
git commit -m "A创建了文档,并且提交"
3)提交到远程仓库
git push -u origin master
说明:第一次提交加“-u”,以后再提交就可以直接简化:git push
4)远程仓库就可以看到提交的项目了
五、B用户更新本地仓库
1)B用户通过命令:
git pull
可以将远程仓库更新到本地。
2)如果B用户在将远程同步到本地前,本地的文件有修改,这时使用git pull就会出错:
此时有两个方法:
方法一:将远程修改的,和本地修改的合并
① 查看远程地址
git remote -v
② fetch命令拉取远程仓库主分支,并且拉到本地temp作为暂存分支
git fetch origin master:temp
③ 查看当前指针指向的是哪个分支,*代表当前分支
git branch
temp为远程拉到本地的暂存分支
④ merge命令,将远程拉下来的temp分支与本地分支进行合并。
git merge temp
此时B用户就已经将远程修改过的文件更新下来了,并且自己修改过的代码也在本地。这时我们再将合并后的代码统一上传到远程仓库
⑤ B用户提交本地仓库到远端
⑥ 删除暂存分支
git branch -d temp
方法二:将远程仓库强制覆盖本地
① 从远程下载最新的,而不尝试合并
git fetch --all
② 将主分支重置为您刚刚获取的内容
git reset --hard origin/master
六、恢复到指定版本
1.首先查看版本历史
查看git的提交版本和id 拿到需要恢复的版本号
git log
也可以使用以下命令查看历史版本:
git reflog
2.恢复到指定版本
比如我要恢复到最初创建的版本。
版本ID是:4c11cbf3d0a80189b7b9071c0aeaae0fe31f6100
git reset --hard 4c11cbf3d0a80189b7b9071c0aeaae0fe31f6100
3.强制push到远程仓库
git push -f origin master