300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 用小乌龟拉取代码_使用小乌龟和命令合并git代码 让冲突更简单!

用小乌龟拉取代码_使用小乌龟和命令合并git代码 让冲突更简单!

时间:2024-04-02 08:08:20

相关推荐

用小乌龟拉取代码_使用小乌龟和命令合并git代码 让冲突更简单!

使用小乌龟和命令合并git代码,让冲突更简单!

Git作为一个必备的版本管理之一,其重要性不言而喻不言而喻。

版本管理功能可能都差不多,svn也是。

git作为分布式版本管理工具,允许你在自己家,没网的时候也随心所欲地提交事物(当然更多指是的代码),这一点可能和svn就绝对地分隔开来了。

git的功能很多,我们也没必要每个都要去精通。我们需要做的,只是让自己的工作能够运行得很顺畅不卡壳。就够了。下文将以目的为出发点,提出一些实用主义。

git其实本身只是一些命令,也就是说,如果不出意外地话,你要一个个代码地去敲出来,然后达到你版本管理的作用。然而,这对一些还不是很懂的小伙伴来说,这太扯淡了。然后,可能就不用这块金砖了。

入门,工具选用。基于git提供的强大命令集,基于许多小白,自然少不了有人会提供一些可视化的界面给你操作。(但请不要忘记其本质)。工具如,tortoisegit(且称之为小乌龟),sourcetree。个人觉得小乌龟更好用,我曾经看其他同学用过以及自己试用过sourcetree,结果是sourcetree表面看起来整体界面牛逼,很全面,但是真正用的时候感觉各种不方便。还是小乌龟实用些,没有华丽的表面,只是简单的右击菜单,但是核心上面下了功夫了。下面将以小乌龟讲解。

入门,小白操作。首先,咱们拿到这个工具,应该不会一上来就进行自己开创性的工作吧(个人感觉),比如,你如果想成为作家进行写作,那么你肯定得先读过许多别人写的文章吧。所以,我们用git也是,先拿别人的仓库,拿过来搞搞嘛。右击一下小乌龟的菜单》克隆,然后把别人的仓库搞到本地来,然后研究研究。当然,咱们最开始的时候也可以不用进行权限验证之类的操作。搞下来之后,先看看别人的操作日志嘛,右击菜单 查看日志或show log,然后你就可以查看整个项目的提交情况了。然后,你得想自己改个东西,然后提交一下。这简单,只要在你强加工具把内容改掉,这时,你就能看到这个文件被改变了,然后右击提交,输入备注信息,就提交了。(注意,这时是需要身份验证的,在设置里输入授权信息就可以了)。到这里的提交,咱们是不和网络打交道的,也就是说,提交的操作是可以断网操作的。然后,右击推送push操作一下,就可以正式把改动推送到远程了,这时查看这个仓库的人就可以看到你的改变了。如果没什么意外,你已经学会了使用git工具进行事务变更操作了。但是有个问题,如果按照这些操作,那么所有的操作都将会是顺序进行的,也就是说,在一个时间点,应只有一个人在操作仓库里的东西,这太扯淡了,怎么只有一个人操作呢,项目基本都意味着同时有n个人操作,可能是同一个文件,同一个单词。针对这种情况,版本工具只会也只能做一件事情,报告老板,你们发生冲突了,你们自己解决下吧,我干不了这活。其实冲突还好,关键是两个人改的东西,到最后要呈现不一样的效果,比如两个项目,虽然都改同一个地方,但是上线的时间点不一样,所以,不可能把冲突解决完就行,而是完全隔离开两个做的东西。所以有了分支。分支相当于有多份相同的仓库,你用你的,我用我的,自然就没有问题了。右击菜单,创建分支,切换分支,然后你就相当于搞到了另一个仓库了,这又是一片不一样的天地。然后又做起来了你的老本行,修改~提交~推送~查看日志。ok,没什么其他事的话,你已经可以正常工作一段时间了。但是,还差一个问题,你的分支怎样让别人发现?别人不可能切到你的分支来搞事情吧,你得主动把你你的分支合并到master老板那里去。切换到master,右击合并(merge),选择你要合并过来的分支,就可以把代码合并了,没什么问题的话,git已经自动把代码合并好了,你只要推送一下就行了。ok,一切都工作得很好。那么,万一呢,我说的是万一合并出了问题呢?怎么办?这才是体现你功底的时刻呢,顺境你好我好大家好,而狭路相逢勇者胜。

出现冲突,怎么解决?1. 直接使用别人的版本,然后自己把自己改的代码一点点加上去,这对于少量的改动,还是很不错,先假设自己错了,然后自己改正自己。真棒,是个好孩子。 2. 直面冲突,发现自己的代码是别人没有的,那么,把自己的加上;发现别人有的自己没有,把别人的加上;发现自己的和别人的完全是同一个地方有重叠,那么只能找当事人一起,共同探讨方案了,要么你进,要么你退。

说了半天,还没说到高级用法呢?

1. git branch -a //列出所有拉取下来的分支

2. 分支创建相关 //依据远程分支新建分支

2.1 git checkout -b develop origin/develop

2.2 git branch –track develop origin/develop #不存在分支

2.3 git branch –set-upstream-to develop origin/develop #已存在分支

2.3 git branch –set-upstream develop origin/develop

2.4 git branch # 创建新的分支

2.5 git checkout -b develop # 创建新的分支,并且切换过去

2.6 git checkout -b 新分支名 老分支名(这种写法的意思为基于老分支创建新的分支)

3. git pull //拉取本分支

4. git fetch //拉取所有分支

5. git clone git@192.168.1.206:root/frontend_oss.git

6. git push develop origin/develop

6.1 git push # push所有分支

6.2 git push origin master # 将本地主分支推到远程主分支

6.3 git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)

6.4 git push origin # 创建远程分支, origin是远程仓库名

6.5 git push origin : # 创建远程分支

6.6 git push origin : #先删除本地分支(git br -d ),然后再push删除远程分支

6.7 git push -v –progress “origin” REL_0228_baiduapi_v1.0:REL_0228_baiduapi_v1.0

7. git merge origin/master

7.1 分支合并和rebase

7.2 git merge # 将branch分支合并到当前分支

7.3 git merge origin/master –no-ff # 不要Fast-Foward合并,这样可以生成merge提交

7.4 git rebase master # 将master rebase到branch,相当于: git co && git rebase master && git co master && git merge

8. git stash save — “this is a stash save” # 保存一个暂存节点

8.1 git stash list # 暂存列表

8.2 git stash pop | apply # 恢复暂存内容

8.3 git stash drop # 删除暂存区

9. 生成ssh key的步骤,获取带权限的仓库

9.1 cd到~目录, 然后运行:ssh-keygen -t rsa

9.2 运行完成后, 会在/c/Documents and Settings/username/.ssh目录下生成2个文件: id_rsa, id_rsa.pub

9.3 然后把id_rsa.pub文件传给服务器,就可以使用GIT了

10. git add a.html | * # 将文件修改添加到暂存区

11. git commit -m “commitle…” # 提交本地修改,注:未推送到远程

12. git clean -fdx # 清理仓库,对于一些无法提交的提示操作

13. 日志查看相关

13.1 git log –pretty=oneline 文件名 # 查看某个指定文件的提交记录

13.2 git log # 所有提交记录

13.3 git show # 查看具体的修改详情了

13.4 git blame file_name # 先查看某行代码由谁写的,在哪个commit中提交

13.5 git log -p -2 # -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新

13.6 git log –stat # 仅显示简要的增改行数统计

14. git如何正确回滚代码,强制push远程分支

14.1.首先两步保证当前工作区是干净的,并且和远程分支代码一致

14.2.备份当前分支(如有必要)

14.3. 恢复到指定的commit hash

$ git reset –hard resetVersionHash

14.4. 把当前分支强制提交到远程

$ git push -f origin currentBranch

举个例子,如下代码是合并过后的代码,合并时遇到冲突为,两边同时改动了同一行代码,且两边都同时是增加,那么我们可以使用 , user their’s before mine 选项保留两个更改。这样冲突就不存在了。如果遇到是别人的正确,那么直接 user their’s 就行。

使用 revision graph 可以清楚的看到各个分支的提交和合并情况,让你对整个项目有个直观的感受。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。