git学习随笔

 

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-8

export 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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值