赞
踩
问题:
Git冲突:Please commit your changes or stash them before you merge
原因:git pull要更新代码时 本地代码修改了 需要先commit 或 stash 但是不想commit 就可以stash 保证本地工作区干净
Stage Changes相当于git add xxx。可以多选,批量地将变更文件放入暂存区,比git add .好用。
Stash Changes相当于git stash,将选中的变更文件“藏起来”,然后当前分支就“干净”了,可以切换到其他分支去了。
那么藏起来的内容怎么恢复呢?
回到刚才执行git stash的分支,执行git stash pop,就会将最近一次藏起来的内容提取出来了。(注:如果stash了好几次,要提取其中某一次的内容,可以使用````git stash apply``命令)
可能会出现如图错误The RSA host key for [artifactory-lfs.l1sw.dyn.nesc.nokia.net]:8282 has changed
是生成的known_hosts中的RSA发生了变化 可以删掉这个文件
git fetch
代码更新 git fetch
git pull
然后更新子模块git submodule update --init
解决办法
删除文件 rm /home/zhsu/.ssh/known_hosts
然后操作:
git checkout master (Note: git checkout command is excuted when git workspace is clean. In other word, there must no modify and staged file in your repository when you excute “git checkout”)
if there alredy have new commit that you commit to master branch:
option 1: git fetch origin; git rebase origin/master
option 2: git pull --rebase
else if only want to sync your master branch with origin/master
git fetch origin; git reset --hard origin/master
git submodule update --init --recursive --jobs=16
https://zhuanlan.zhihu.com/p/34197548
总结:
下游分支更新上游分支内容的时候使用 rebase
上游分支合并下游分支内容的时候使用 merge
更新当前分支的内容时一定要使用 --rebase 参数
git pull --rebase
当本地代码提交后且更新了新代码后(新代码覆盖了本地 同步了master时) 想要自己原来提交状态的代码
git fetch "https://xxx@xxx.com/A/B" refs/changes/28/4473628/4 && git cherry-pick FETCH_HEAD
想对commit信息回退修改 但是不对代码的改动修改 保留该版本代码的修改
在提交代码的时候,commit之后,然后我又在工作区添加了东西,这时候突然发现,上一次的commit有错误的文件,需要重新修改,但是我添加的东西友不想丢失,而且我想修改上一次的提交,这时候可进行git reset --soft 版本号
作用:用于版本的回退,只进行对commit操作的回退,不影响工作区的文件。
git log 查看commit 版本号
git reset --soft
https://blog.csdn.net/yangfengjueqi/article/details/61668381?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-61668381-blog-120782767.pc_relevant_multi_platform_whitelistv1_exp2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-61668381-blog-120782767.pc_relevant_multi_platform_whitelistv1_exp2&utm_relevant_index=1
1 . git clone 默认是克隆Head指向的master分支,如果是多分支,我们可以单个克隆分支项目
2 .git branch -a,列出所有分支名称如下:
remotes/origin/dev
remotes/origin/release
3 . git checkout -b dev origin/dev
作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
4. git checkout -b release origin/release 与上面类似
5. git checkout dev,切换回dev分支,并开始开发。
下面看下git merge用法,具体内容如下所示:
git pull =git fetch + git merge
一、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master
二、当master代码改动了,需要更新开发分支(dev)上的代码
git checkout master
git pull
git checkout dev
git merge master
git push -u origin dev
https://blog.csdn.net/Javammf/article/details/125539790
git pull = git fetch + git merge。
因此,git fetch是从远程获取最新版本到本地,但不会自动merge。
而git pull则是会获取所有远程索引并合并到本地分支中来。效果相同时git pull将更为快捷。
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。