0


3、git实战操练

1、马上要封包上线了,如何将这个版本的代码封存。

命令操作/含义git tagtag的创建,推到服务器git archive对源码进行打包 $ git archive master --format=zip --output master.zip

2、 明天就是上线日期,今天合并你已经做完的几个关联性不大的feature,怎么做?

git cherry-pick操作
命令操作/含义git cherry-pickgit cherry-pick commit_id如果遇到冲突,就先解决冲突。 1.git add –u 2.git cherry-pick --continue(--abort)

3、如果有人强推到服务器了,你该怎么办。

1.在项目中配置,禁止任何人push –f操作。2.如果还是被强推了,不能随便拉取服务器代码,首先就是将master分支备份下。先fetch下,和同事在确认下为什么需要强推的。在确认无误的情况下,才能同步master分支的代码。

4、 队友无法正常上网,但是他写的feature非常紧急,该怎么同步代码?

1.先生成patch文件 $ git format-patch start_commit_id..end_commit_id $ git format-patch –n3 2.可以事先检测在合并的时候是否存在冲突 $ git apply --check patch_file 3.合并patch文件 $ git am patch_file 4.如果合并失败 $ git apply --reject patch_file5.根据生成的.rej文件手动的合并到文件中6.删除.rej文件,将修改的文件添加到缓存中7.git add 后继续git am --continue

5、领导让你去合并代码,发现很多的分叉点,该怎么做。

$ git rebase branch_name$ git checkout master$ git merge feature_branch

6、一个feature这么多提交记录?能不能少一点,以及合并不连续的commit。

$ git rebase –i

7、 在现场开发,如何用U盘作为服务器。

$ git clone --bare DataStruct-Algorithm /F/datastruct-algorithm.git# 先创建一个裸的仓库$ git init --bare DataStruct_algorithm.git # 添加远程仓库$ git remote add F_DISK /F/datastruct_algorithm.git/# 将所有的分支推到F_DISK远程服务器上$ git push F_DISK --all

8、正在开发新的feature,有个紧急的bug需要你处理该如何保护开发现场。

$ git stash save “message ”

9、同事的这个commit message写的不对,请你帮忙修改

$ git rebase -i

10、如何进行版本回退

$ git reset --hard commid id$ git reset --soft commid id

11、如何优雅的迁移代码

1.给当前的库增加远程服务器2.将当前库中的所有记录push新的服务器上 本质就是练习7的变种

12、 队友辛辛苦苦提交的代码找不到了,该如何寻回?

$ git reflog –n10$ git cherry-pick commit_id

标签: git

本文转载自: https://blog.csdn.net/Mingyueruya/article/details/135732682
版权归原作者 蓑衣夜行 所有, 如有侵权,请联系我们删除。

“3、git实战操练”的评论:

还没有评论