3.2 使用场景
3.2.1 Git Pull 的使用场景
当你希望快速获取远程仓库的更新并将其合并到当前分支时,可以使用git pull。
在日常开发中,当你确定远程仓库的更新不会引起冲突时,使用git pull是一个方便的选择。
3.2.2 Git Fetch 的使用场景
当你想要查看远程仓库的更新情况,但并不想立即合并时,可以使用git fetch。
在需要仔细审查远程更新并决定何时进行合并的情况下,使用git fetch更为合适。
设置上游分支: 方式一(适用远程分支已存在): 用参数 -u 或 --set-upstream-to 设置上游 $ git branch --set-upstream-to=origin/<远程分支> <本地分支> 方式二(适用远程分支不存在): 上传本地分支到远程,同是把上传后的远程分支设置为本地分支的上游分支: git push set-upstream origin HEAD:<远程分支> 取消分支上游: $ git branch --unset-upstream 查看上游: 可以通过git status 、 git checkout <分支>、git branch -vv命令查看 如下图框中就是当前分支的上游。 from:https://blog.csdn.net/xjj1314/article/details/111269837
View DetailsGit 的报错 一、fatal: refusing to merge unrelated histories 新建了一个仓库之后,把本地仓库进行关联提交、拉取的时候,出现了如下错误:
1 2 3 |
ankobot@DESKTOP-9IUDMKP MINGW64 /e/workspace/firmware_upload/firmware_upload (master) $ git pull fatal: refusing to merge unrelated histories |
二、解决方案 在你操作命令后面加 –allow-unrelated-histories 例如:
1 |
git merge master --allow-unrelated-histories |
1 2 3 4 |
$ git pull --allow-unrelated-histories CONFLICT (add/add): Merge conflict in .gitignore Auto-merging .gitignore Automatic merge failed; fix conflicts and then commit the result. |
我这里由于使用了官方的 .gitignore 自动合并失败,需要手动合并之后再进行 add、commit 即可 如果你是git pull或者git push报fatal: refusing to merge unrelated histories 同理: git pull origin master --allow-unrelated-histories / git pull --allow-unrelated-histories 等等,就是这样完美的解决! from:https://blog.51cto.com/laok8/2454524
View Details版本:gitblit-1.8.0.zip 步骤: 1.解压,到我的目录是:D:\Fiqiu\windows-gitblit-1.8.0 2.打开data\gitblit.properties,修改默认配置项,把下面的代码复制进去,保存 #Git仓库目录 git.repositoriesFolder = D:\Coding\GitblitData #访问端口 server.httpPort = 9999 server.httpsPort = 9998 # 搭建服务器的IP server.httpBindInterface = 127.0.0.1 server.httpsBindInterface = 127.0.0.1 3.在安装目录下启动gitblit: D:\Fiqiu\windows-gitblit-1.8.0>java -jar gitblit.jar 启动后发现光标会在里面最下一行暂停,没有退出来,说明成功了: 4.安装服务 (1)记事本或编辑器打开installService.cmd (2)在SET ARCH=amd64下面增加: SET CD=D:\Fiqiu\windows-gitblit-1.8.0 保存 (3)管理员方式运行 installService.cmd 目的是安装windows服务,安装成功后可在 此电脑->管理->服务 里看到gitblit项,然后启动。 (4)管理员方式运行gitblitw.exe 修改jvm路径 (5)回到General标签,点击Start按钮启动确定即可 5. 在浏览器地址栏输入:http://127.0.0.1:9999/ 或 https://127.0.0.1:9998/ 即可 from:https://blog.csdn.net/weixin_39231286/article/details/90214406
View Details当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。
View Details1、查看配置
1 2 3 4 5 6 |
//查看所有配置 git config -l //查看系统配置 git config --system --list //查看用户自己配置 git config --global --list |
系统文件配置所在位置: 2、配置 用户名与邮箱(用户标识必须) 配置命令
1 2 3 4 |
//配置用户名 git config --global user.name "obgeName" //配置邮箱 git config --global user.email "824307555@qq.com" |
用户自己配置所在位置: from:https://www.cnblogs.com/obge/p/14212013.html
View Details在执行git pull的时候,提示当前branch没有跟踪信息:
1 2 3 |
git pull There is no tracking information for the current branch. Please specify which branch you want to merge with. |
对于这种情况有两种解决办法,就比如说要操作master吧,一种是直接指定远程master:
1 |
git pull origin master |
另外一种方法就是先指定本地master到远程的master,然后再去pull:
1 2 |
git branch --set-upstream-to=origin/master master git pull |
这样就不会再出现“There is no tracking information for the current branch”这样的提示了。 ———————————————— 版权声明:本文为CSDN博主「K.Sun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/sinat_36246371/article/details/79738782
View Details撤销push 1. 执行 git log查看日志,获取需要回退的版本号 2. 执行 git reset –-soft <版本号> ,如 git reset --soft 4f5e9a90edeadcc45d85f43bd861a837fa7ce4c7 ,重置至指定版本的提交,达到撤销提交的目的 然后执行 git log 查看 此时,已重置至指定版本的提交,log中已经没有了需要撤销的提交 git reset 命令分为两种: git reset –-soft 与 git reset –-hard ,区别是: 前者表示只是改变了HEAD的指向,本地代码不会变化,我们使用git status依然可以看到,同时也可以git commit提交。后者直接回改变本地源码,不仅仅指向变化了,代码也回到了那个版本时的代码。 3. 执行 git push origin 分支名 –-force ,强制提交当前版本号。 至此,撤销push提交完成。 撤销commit 1. 执行 git log 查看需要撤销的commit的前面一个提交版本的id; 2. 执行 git reset --hard commit_id ,该commit_id为需要撤销的commit的提交的前面一个提交的版本,即需要恢复到的提交的id,重置至指定版本的提交,达到撤销提交的目的 3. 执行 git log 查看,commit提交已撤销 from:https://www.cnblogs.com/chaoxiZ/p/9714085.html
View Details公司搬移, 作为git仓库的服务器IP地址变了。 本地代码挺多,重新检出太占时间,可以修改一个什么配置让我本地仓库和新的远程仓库建立关联吗, 答案是肯定的! 方法有很多,这里简单介绍几种: 以下均以项目git_test为例: 老地址:http://192.168.1.12:9797/john/git_test.git 新地址:http://192.168.100.235:9797/john/git_test.git 远程仓库名称: origin 方法一 通过命令直接修改远程地址 进入git_test根目录 git remote 查看所有远程仓库, git remote xxx 查看指定远程仓库地址 git remote set-url origin http://192.168.100.235:9797/john/git_test.git 方法二 通过命令先删除再添加远程仓库 1.进入git_test根目录 2.git remote 查看所有远程仓库, git remote xxx 查看指定远程仓库地址 3.git remote rm origin 4.git remote add origin http://192.168.100.235:9797/john/git_test.git 方法三 直接修改配置文件 进入git_test/.git vim config
1 2 3 4 5 6 7 8 9 10 11 |
[core] repositoryformatversion = 0 filemode = true logallrefupdates = true precomposeunicode = true [remote "origin"] url = http://192.168.100.235:9797/shimanqiang/assistant.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master |
修改 [remote “origin”]下面的url即可 方法四 通过第三方git客户端修改。 以SourceTree为例,点击 仓库 -> 仓库配置 -> 远程仓库 即可管理此项目中配置的所有远程仓库, 而且这个界面最下方还可以点击编辑配置文件,同样可以完成方法三。 原文链接:https://blog.csdn.net/asdfsfsdgdfgh/article/details/54981823 from:https://www.cnblogs.com/vickystudy/p/11505936.html
View Details