Git 基本使用
阅读量
0
以下内容是在初使用Git的时的笔记记录,会不定时更新。
1. Git使用操作
1.1. 代理
- 设置代理
如果需要下载墙外的仓库:
//1080 可以根据自己买的vpn服务器端口
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
- 删除代理
git config --global --unset http.proxy
git config --global --unset https.proxy
1.2. Android创建忽略文件.gitignore
- 一般如果使用Android Studio创建的时候,IDE会自动给我创建
.gitignore
文件,但有时候我们也需要自定义此文件。因此,我们可以从 github/gitignore 项目中下载相应的文件,放到我们项目的根目录即可。
1.3. git撤销commit
git commit --amend
1.4. git 回到某个版本
git reset id //只更改版本,不修改代码
git reset --hard id //版本和代码都修改
1.5. git 多url推送
第一个url
git remote add origin url
然后其他的
git remote set-url --add origin url
1.6. git push origin master
- git push 推送到默认分支
- git push origin 推送到主机为origin的远程服务器上
- git push origin master 推送到主机为origin的服务器上的master分支
1.7. git 放弃本地修改,强制拉取更新
- 从服务器拉取数据到本地
git fetch --all
或者
git fetch 主机名 分支 (example: git fetch origin dev)
- 把Head指向最新拉取的分支
git reset --hard 主机名/分支 (example: git reset --hard origin/dev)
- 重新拉取(这步可忽略)
git pull 主机名 分支
1.8. git 修改分支名称
git branch -m oldBranchName newBranchName //修改本地的
git push //推送到远程分支
1.9. git push 出现错误:error: failed to push some refs
1、在使用git 对源代码进行push到git仓库时可能会出错
2、出现错误的主要原因是本地和远程仓库中的代码不一致导致
3、可以通过如下命令进行代码合并【注:pull=fetch+merge]
git pull --rebase origin master
4、此时再执行语句 git push 即可完成代码上传到远程仓库
2. 查看所有分支情况
git branch -a
2.1. 删除远程分支
git push origin --delete dev
2.2. git提示Auto packing the repository in background for optimum performance
查资料,原来是自己本地一些 “悬空对象”太多(git删除分支或者清空stash的时候,这些其实还没有真正删除,成为悬空对象,我们可以使用merge命令可以从中恢复一些文件)
解决: (删除掉.)
1.输入命令:git fsck -.-lost-found,可以看到好多“dangling commit”
2.清空他们:git gc -.-prune=now,完成
"git rebase -i HEAD~xxx"是修改git 历史记录的一个很有用的命令。
但是有时在执行该命令时会出现以下错误:
$ git rebase –i HEAD~8
fatal: Needed a single revision
invalid upstream –i
二、错误原因
当前执行操作的点不在任何分支上,或者可能rebase后面的参数是一个错误的分支;
当前执行操作的点前面的提交不够8个。
三、解决办法
确认'-i' 之后的参数是否正确;
确认需要rebase的提交相对于'HEAD'的序号,一种极端情况是想从当前分支的第一个提交开始rebase,可以使用以下命令:git rebase -i --root。
3 修改本地分支名称和远程分支名称
本地分支重名名
git branch -m old_branch new_branch
删除远程分支并重新推送
git push origin :old_branch
git push origin new_branch:new_branch
本文作者:Xiaowu
本文链接:https://jxiaow.gitee.io/posts/b8d683be/
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
本文链接:https://jxiaow.gitee.io/posts/b8d683be/
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!