跳至主要内容

博文

目前显示的是标签为“git”的博文

git branch merge

3.2 Git 分支 - 分支的新建与合并 分支的新建与合并 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤: 开发某个网站。 为实现某个新的需求,创建一个分支。 在这个分支上开展工作。 正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理: 切换到你的线上分支(production branch)。 为这个紧急任务新建一个分支,并在其中修复它。 在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支。 切换回你最初工作的分支上,继续工作。 新建分支 首先,我们假设你正在你的项目上工作,并且已经有一些提交。 Figure 18. 一个简单提交历史 现在,你已经决定要解决你的公司使用的问题追踪系统中的 #53 问题。 想要新建一个分支并同时切换到那个分支上,你可以运行一个带有  -b  参数的  git checkout  命令: $ git checkout -b iss53 Switched to a new branch "iss53" 它是下面两条命令的简写: $ git branch iss53 $ git checkout iss53 Figure 19. 创建一个新分支指针 你继续在 #53 问题上工作,并且做了一些提交。 在此过程中, iss53  分支在不断的向前推进,因为你已经检出到该分支(也就是说,你的  HEAD  指针指向了  iss53  分支) $ vim index.html $ git commit -a -m 'added a new footer [issue 53]' Figure 20. iss53 分支随着工作的进展向前推进 现在你接到那个电话,有个紧急问题等待你来解决。 有了 Git 的帮助,你不必把这个紧急问题和  iss53  的修改混在一起,你也不需要花大力气来还原关于 53# 问题的修改,然后再添加关于这个紧急问...

git fetch pull differences

Git中从远程的分支获取最新的版本到本地有这样2个命令: 1.  git fetch :相当于是从远程获取最新版本到本地,不会自动merge      Git fetch origin master git log - p master .. origin / master git merge origin / master     以上命令的含义:    首先从远程的origin的master主分支下载最新的版本到origin/master分支上    然后比较本地的master分支和origin/master分支的差别    最后进行合并    上述过程其实可以用以下更清晰的方式来进行: git fetch origin master : tmp git diff tmp  git merge tmp     从远程获取最新的版本到本地的test分支上    之后再进行比较合并 2.  git pull :相当于是从远程获取最新版本并merge到本地 git pull origin master 上述命令其实相当于git fetch 和 git merge 在实际使用中,git fetch更安全一些 因为在merge前,我们可以查看更新情况,然后再决定是否合并 结束

git clone depth

0.Clone from remote repo $git clone [- b  dev ]   https : //git.coding.net/StevenZack/ui.git --depth 1 $git push origin dev $git remote add https : //git.coding.net/StevenZack/ui.git $git push origin + master //intigrate git fetch origin master 1.cd into your work dir $git init $git add * $git commit -m "1.original version" 2.do what you like in your work dir ( make some change or make a new file /delete a file ....ect anything ....) ===check what file did you changed: $git status  ===check detail that you changed: $git diff ===make a snapshot $ git add * $ git commit -m "2.added a mainwindow , and make some changes" ===upload to origin source $git push -u origin master 3.Return to exact version ===return to past $git log   -- pretty = oneline $git reset   -- hard   313f934 ===return to future $ git reflog $git reset   -- hard   313f934