GIT多人协作开发
最近和团队一起做项目,用git同步开发体验了一把。小伙伴们,碰到了一些问题。分享下。
如果你还不清楚GITHUB怎么使用,可以戳这里 ===》 github使用
小伙伴们刚开始使用GIT,碰到了一些小问题。
1.gitclone到本地
当一人已经创建了远程仓库并且已经上传了代码,其他的小伙伴想clone到本地开发。
当git clone 的时候报错了
解决方法:
git config --global http.sslVerify false
解决方法:
git config --global user.name "xxx" git config --global user.email "xxx"
这里全局设置下你的用户名和email即可。 如果这里为github的话,就是github的账号加上注册时候使用的邮箱
2.如果你想提交下代码
先拉取下小伙伴们的代码,
git pull #进行拉取最新代码
git add . #将修改放到暂存区 git commit -m "随便" #提交时的信息 git push #进行推送,实现同步
git commit -m "test commit" 效果如下,你可以写入你修改的具体东西,比如bug修复
3.分支冲突
如果其他小伙伴改了一个文件,同时你也修改了。很多情况很碰到这种问题。
这时候git pull 就会报错
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash #往堆栈推送一个新的储藏 git pull #拉取 git stash pop #从栈中读取最新的内容并恢复 #可以使用git diff -w +文件名 来确认代码自动合并的情况.
打开冲突的文件
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
确认以后再次提交即可
4.如果想回退版本,放弃这一版本的修改
git reflog
#显示整个本地仓储的commit, 包括所有branch的commit, 甚至包括已经撤销的commit, 只要HEAD发生了变化, 就会在reflog里面看得到. git log只包括当前分支的commit.
git reset --hard commit_id
#这里的 commit_id就是 上面箭头所指的序列号
5.如果想从仓库中完全覆盖本地的文件
!!慎用,确认你要完全覆盖本地的文件,并且本地没有新的修改。
若你修改了,却没有上传,这将是一个灾难,一夜回到解放前。
git reset --hard git pull