git多人团队协作开发及可能碰到的一些问题

2018-4-21 18:26:32 4,328 views

GIT多人协作开发

最近和团队一起做项目,用git同步开发体验了一把。小伙伴们,碰到了一些问题。分享下。
 
如果你还不清楚GITHUB怎么使用,可以戳这里   ===》 github使用
小伙伴们刚开始使用GIT,碰到了一些小问题。

1.gitclone到本地

当一人已经创建了远程仓库并且已经上传了代码,其他的小伙伴想clone到本地开发。
当git clone 的时候报错了
ssl
解决方法:

git config --global http.sslVerify false

 
authentication
解决方法:
 

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修复
git commit -m
 

3.分支冲突

如果其他小伙伴改了一个文件,同时你也修改了。很多情况很碰到这种问题。
这时候git pull 就会报错
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 reflog

git reset --hard commit_id

#这里的 commit_id就是  上面箭头所指的序列号

5.如果想从仓库中完全覆盖本地的文件

!!慎用,确认你要完全覆盖本地的文件,并且本地没有新的修改。
若你修改了,却没有上传,这将是一个灾难,一夜回到解放前。

git reset --hard
git pull

 


 

5

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。