2019.11.03
Cannot set LC_CTYPE to default locale: No such file or directory
记录by11.21
最终的解决方案:
root身份编辑/etc/profile末尾增加两行
export LANG=zh_CN.UTF-8export LC_CTYPE="zh_CN.UTF-8"
保存后source下/etc/profile
今天遇到一个问题,使用jgit下载git远程仓库的代码,有些项目,在本地ok,但是在服务器上就是不行,
找了一下原因,原来远程仓库的代码里面有中文,服务器字符集设置不是zh_CN.UTF-8,所以不行,生成带中文的目录是乱吗,下载失败
到底如何linux服务器设置字符集,挺麻烦的,还得分Redhat还是ubuntu,安装命令也不太一样,还得重启服务器,算了,我就换了一台支持中文的服务器
以下是参考资料,以后再遇到这个问题再说吧
https://www.cnblogs.com/litifeng/p/5691248.html
https://www.jianshu.com/p/2de3c13cde89
https://www.edlad.com/2016/09/12/ubuntu-chinese/
2019.10.14
一不小心把本地文件/文件夹传到了远程git仓库,怎么办呢?比如把.idea不小心上传到了远程仓库。
#将.idea/替换成你想要删除的文件夹,文件的话去掉参数-r就可以了,这一步是删除暂缓区的文件
git rm -r --cached .idea/
#将这个删除操作提交到本地仓库
git commit -m "delete .idea"
#将这个删除操作提交到远程仓库
git push
这样就可以啦
2019.7.22
git常见命令
初始化一个git目录:
git init
创建分支:
git branch XXX
关联远程仓库
git remote add origin git@github.com:git_username/repository_name.git
关联远程仓库分支
git remote add origin/branchXXX git@github.com:git_username/repository_name.git
修改关联的远程仓库:先删除再添加远程仓库
git remote rm origin
新建本地分支与远程分支关联
git branch –set-upstream 本地新建分支名 origin/远程分支名
回退到某一个版本:
git reset --hard XXXX
向远程仓库推送代码:
git push
从远程仓库拉代码:
git pull
(git pull=git fetch+git merge)
合并:
git merge XXX
最讨厌merge,每次都有冲突
2019.06.15
Git的三大对象
commit对象、tree对象 、blob对象
其他概念:tag、ref,SHA-1值
refs:存储指向branch的最近一次commit对象的指针,也就是commit对象的sha-1值
refs目录:
heads是存储本地仓库每一个分支最近一次commit对象的sha-1值
remotes则是存储最近一次push到远程仓库的commit对象的sha-1值
tags(首先要与branch区分开来,tags本质就是branch,与branch不同的是tag是不会有改动的,是历史版本记录)则是存储历史版本的最后一次commit对象的sha-1值
转自:https://blog.csdn.net/sinat_19968265/article/details/81354474
------------------------------------------
git pull的时候出现:fatal: refusing to merge unrelated histories
是远程服务器认为你当前的分支与服务器分支没有关联,拒绝了git pull请求,
解决方法:加参数 --allow-unrelated-histories
即:git pull origin master --allow-unrelated-histories
然后如果有文件merge conflict,解决冲突冲突,再add,最后commit即可。
git pull=git fetch+git merge
git pull --rebase=git fetch+git rebase
https://blog.csdn.net/dake_160413/article/details/78676163
1.git reset 不仅可以回退版本,也可以撤回对文件的修改
git reset HEAD <file>
git checkout 切分支
git checkout -- file 撤回对文件的修改,撤回至add或者summit之前的状态,实际上是用版本库里的版本代替工作区的版本,
本地库关联远程库
git remote add origin git@github.com:charlyne/learngit.git
添加后,远程库的名字就叫origin,
git push -u origin master
使用git push,实际上是把本地的master分支推送到远程库,由于远程库是空的,所以第一次推送使用-u参数,git不但会把本地master分支推送到远程新的master分支,还会把本地master分支和远程的master分支关联起来,在以后的关联和拉取时可以简化命令。
git clone 克隆
git clone git@github.com:charlyne/learn.git
HEAD 指向当前分支,
假如我们在dev分支上的工作完成了,就可以把dev分支合并到master分支上,最简单的合并就是把master分支指向dev分支,这样就完成了合并,所以git合并也很快,动一动指针就可以了.
创建分支:git branch <branch>
切换分支:git checkout <branch>
合并某分支分支到当前分支:git merge <name>