赞
踩
修改git用户名、密码
git config --global user.name ‘cmy’
git config --global user.email ‘3036319203@qq.com’
git config --list
1.首先获取git主分支的代码。
2.暂存所需要上传的代码。
3.拉取代码(如发生文件冲突先暂不处理)。
4.提交代码,然后再次拉取代码(不显示冲突跳下一步)。如果还是显示文件冲突报错,就需要去解决冲突的文件(这步重点),然后再去拉取代码。
5.推送代码。
1获取==》2暂存所有==》3拉取==》4提交==》5推送
1- 贮藏更改
2- 拉取
3- 弹出贮藏
4-提交
5-推送
git stash 或 git stash save “描述” 同步前先暂存你修改的内容
git pull 同步服务器最新代码
git stash apply 弹出暂存的修改
git status 查看修改的文件
git add [文件] .表示所有文件,也可以单独指定要提交的文件名
git commit -m “描述”
git push [远程分支] [本地分支] 或者是 git push - u origin dev 推送到远程服务器
如果有冲突情况下:
1- git pull 提示失败
2- git add . 和 git commit -m ‘提交本地’ 把本地的提交
3- git push 提示 有冲突,解决冲突
4- 解决完后,重新 git add . 和 git commit -m ‘提交远程解决冲突’
5- git push 提示成功
git 扩展:
git restore 文件名 取消修改文件
git restore --staged 文件名 将暂存区的文件从暂存区撤出,但不会更改文件(解决冲突)
从更改文件到添加到暂存区再到从暂存区撤出
git stash 系列
git stash drop 删除贮藏文件名 例如 git stash drop stash@{0}
(1)git stash save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
(2)git stash list :查看stash了哪些存储
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 4: num}̲,比如第二个 git stas…num} -p ,比如第二个:git stash show stash@{1} -p
(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 4: num}̲ , 比如第二个:git st…num} ,比如应用并删除第二个:git stash pop stash@{1}
(7)git stash drop stash@{KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 4: num}̲ :丢弃stash@{num}存储,从列表中删除这个存储
(8)git stash clear :删除所有缓存的stash
————————————————
原文链接:https://blog.csdn.net/AAAXiaoApple/article/details/120739959
//1、检查本地与仓库有哪些修改 不同---查看仓库当前的状态,显示有变更的文件
git status
//2、若有修改则根据git bash窗口提示的命令对文件git add 或者git restore
//文件写入暂存区---添加文件到暂存区
git add "src/kcbh/api/ghcg/"
git add "src/kcbh/ckqgl/modules/viewGhfb.vue"
//提交暂存区到本地仓库中 [file],没有推到远程仓库--若想直接由暂存器提交远程仓库可使用git commit -am
git commit -m [message]
//恢复文件---取消工作区的修改
git restore "src/kcbh/api/ghcg/"
git restore "src/kcbh/ckqgl/modules/viewGhfb.vue"
//3、是否需要git push 到远程仓库---
git push origin master
注意:git commit之前需要先让本地代码与GIT代码仓库同步,再提交
git代码不同命令 存放 不同位置图片如下:
背景:修改了启动的配置文件(.yml)等,不需要提交到仓库,方便开发测试时使用。
(1)git stash save “save message” : 执行存储时,添加备注,方便查找,只使用git stash 也是可以的,但查找时不方便识别。*注意使用该命令时先使用git add 命令将文件添加到版本管理中
git stash 或 git stash save "save message"
//查看stash了哪些存储
git stash list
//应用某个存储,不会把存储从暂存区中删除,默认使用第一个存储,即stash@{0}
git stash apply
//使用第二个 git stash apply stash@{$num}
git stash apply stash@{1}
//命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,默认stash@{0}
git stash pop
//删除第二个 git stash pop stash@{$num}
git stash pop stash@{1}
//删除这个存储 stash@{$num}
git stash drop stash@{$num}
//删除所有缓存的stash
git stash clear
有其他的stash命令未列出
Ps: 案例1:stash pop后java代码上有红色双箭头(同步仓库时冲突),但工程编译通过,丢弃本地该java文件(restore命令)报错如下:
error: path “file_paht” is unmerged
笔者执行顺序
//把文件放到暂存区
git add MineBaseCkq.java
// 暂存区 存储到stagingArea —这里不太理解??
git stash save ‘使用oracle语句’
git pull //本地pull仓库最新代码
git stash apply 或者 git stash pop //注意两者有区别,是否删除暂存区某内容
提示错误:没有合并,导致无法丢弃文件,我需要达成的效果:丢弃文件,切换其他分支(仓库已提交的文件)
清除前 文件存在差异
git diff --stat 命令比对本地停留的分支和其跟踪的远程分支的内容是否一致,都有哪些文件在本地进行了修改。如果有改动,则以列表的形式展现出来。如果没有改动,就返回空行输出。
其实这里已经提示了这个文件有改动,并且没有merge。因此存在两个版本的差异
解法:bash目录在entity夹下(或称 bean)
//把缓存区的这份存档清除掉,然后再丢弃
git reset MineBaseCkq.java
//验证一下 缓存区的存档是否清除成功
git diff --stat // 命令结果 :合并的项已处理成功,只剩下改动的项
//git checkout . [丢弃本地的所有改动内容,恢复到此分支同其跟踪分支相同的状态。“.”表示匹配所有的改动文件] 此处指定具体的文件路径来定点清除
git checkout MineBaseCkq.java
git diff --stat //此时可以看到,本地已经没有任何改动的文件
笔者命令到此结束,没有切换分支(笔者分支一直是 origin master)
// 是否执行后续 切换分支 git checkout [feature_name]
//git checkout dev
命令执行顺序即结果图(图1、图2)如下:清除后:合并的项已处理成功,只剩下改动的项
执行git checkout filepath后再次 git diff – stat
解决后 文件上红色箭头消失
git add 添加文件到暂存区
git status 查看仓库当前的状态,显示有变更的文件。
git diff 比较文件的不同,即暂存区和工作区的差异。
git commit 提交暂存区到本地仓库。
git reset 回退版本。—谨慎使用(会清除git log历史提交记录),或用[git revert -v 版本号 ] 替代
git rm 将文件从暂存区和工作区中删除。
git mv 移动或重命名工作区文件。
git remote 远程仓库操作
git fetch 从远程获取代码库
git pull 下载远程代码并合并
git push 上传远程代码并合并
git clean -d -fx
//如果希望用代码库中的文件完全覆盖本地工作版本
git reset --hard
执行以上2个命令仍无法解决,用下面的方式解决(注意会删除本地修改,执行前需要备份)
造成原因:小乌龟git 没有同步仓库(sync),直接commit后push失败,再执行pull与push命令都报
untracked working tree files would be overwritten by merge:file…
解决方法如下 —注意分支(分支有可能是development)
如果不需要保留本地的修改,只要执行下面两步:
git fetch origin
git reset --hard origin/master
当我们在本地提交到远程仓库的时候,如果遇到上述问题,我们可以首先使用如下命令:
git rebase origin/master
然后使用
git pull --rebase
最后使用
git push origin master
把内容提交到远程仓库上。
执行命令结果图:(命令执行完后,commit成功但push失败的文件工作区消失了,记得执行fetch前备份)
有冲突,自动合并失败;修改冲突后再提交结果
冲突java文件会有如下显示:
<<<<<<<< HEAD
自己写的代码
===============
别人写的代码
>>>>>>>>>>>>>>>56f6ea17ddd24e8c8eb28d5c6b952b10f181d622
解决方法:
若是实现相同功能而写的重复的代码,两个二选一删除一个,然后再把这些冲突标示符删除即可;若不是重复代码,两个都需要保留,只把冲突符号(红色部分)删除即可。
工程编译通过之后可以重新提交了,这时需要从头执行:
git add
git commit -m [message]
git pull
git push 把合并好的最新代码推送到服务器端[仓库?]—push慎用,避免不是自己修改的文件被推到仓库,覆盖别人
bug: RPC failed; curl 18 transfer closed with outstanding read data remaining
$ git clone http://10.233.1.18:8088/Lucky/jtonemap.git
Cloning into 'jtonemap'...
remote: Enumerating objects: 1402, done.
remote: Counting objects: 100% (1402/1402), done.
remote: Compressing objects: 100% (858/858), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
solution:
1、使用ssh协议—推荐
避免 git clone https://github.com/vaibhavjain2/xxx.git - Avoid
正确 git clone git@github.com:vaibhavjain2/xxx.git - Correct
2、生成ssh key
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
3、增量缓冲区大小–https
git config --global http.postBuffer 524288000
例子:
git clone http://10.233.1.18:8088/Lucky/jtonemap.git --depth 1
git clone git@10.233.1.18:Lucky/jtonemap.git
TortoiseGit中git pull时一直弹框,可能没有配置 SSH 密钥或者 SSH 密钥不正确,导致 Git 无法自动进行身份验证 ,配置 SSH 密钥如下
解决步骤:
1)开始处搜索TortoiseGit文件夹,打开所在文件夹,双击“PuTTYgen”文件
2)点击Generate,会自动生成一个SSH-Key,PS:在生成key的时候鼠标要一直在进度条上滑动,只有这样进度条才会移动
3)生成后,点击Save private key按钮,自己设置保存位置,并记住此路径
4)将生成的key(putty弹框中key)复制粘贴到Gitlab区域中去,添加该密钥
5)开始处搜索TortoiseGit文件夹,打开所在文件夹,双击Pageant打开,双击运行之后在右下角会显示图标
6)右键该图标,点击Add Key,在弹出的文件夹界面中选择保存的密钥文件即可,再次使用TortoiseGit去git pull 成功,弹框已消失
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。