Git 若干问题及解答

来源:互联网 发布:灯光特效软件 编辑:程序博客网 时间:2024/05/16 07:37

一 中文显示和ls高亮问题

1  添加ls设置存储到 /etc/profile 解决ls高亮问题

 echo "alias ls='ls --color=tty --show-control-chars'" >> /etc/profile

 echo 'cd "$HOME"' >> /etc/profile

说明: 这是为了在您使用ls命令时候可以高亮显示文件夹和可执行文件; 让Git Bash启动后停留在home路径下面.


2 添加设置到/etc/inputrc中解决显示git bash中汉字问题, 并没有解决git diff xxx.c中汉字注释的问题

echo "set meta-flag on" >> /etc/inputrc

echo "set input-meta on" >>/etc/inputrc

echo "set output-meta on" >>/etc/inputrc

echo "set conver-meta off" >> /etc/inputrc

3 git diff xxx.c显示<A8><B9>...乱码问题的解决

git
-----------------

Pro Git中文在线: http://git-scm.com/book/zh/v1
                   http://git-scm.com/book/zh/v2
[问题]
[解答]

[问题]  使用git合并多个提交
[解答]   假设要合并最后的2个提交,可以按如下命令进行:
1. git rebase –i HEAD~2
2. 将第二个pick修改为squash或者s,然后输入":wq”退出。

前提条件, 合并的提交不能有冲突, 若有的话, git rebase失败.

[问题] error: src refspec master does not match any.
[解答] 没有master分支, 创建master分支即可

[问题] old mode 100644 new mode 100755
[解答] git config core.filemode false
      or
      git config --global core.filemode flase
      .repo/repo/repo forall -c git config core.filemode false

[问题] ! [remote rejected] HEAD -> refs/for/refs/heads/Indroid4.4-master (change 36303 closed)
[解答] 两次提交的commit-id重复了,重新提交
      This error occurs if you are trying to push a commit that contains the Change-Id of a closed change in its commit message.
      https://git.eclipse.org/r/Documentation/error-change-closed.html

[问题] You are in the middle of an am session
[解答]

[问题]
[解答]
error: unpack failed: error Missing tree 64e965a3155d8913b63574138bd568325d25ef91
fatal: Unpack error, check server log
To ssh://hjhong_sz@192.168.1.26:29418/android/kernel/kernel-3.0.8
 ! [remote rejected] HEAD -> refs/for/refs/heads/Indroid4.4-master (n/a (unpacker error))
error: 无法推送一些引用到 'ssh://hjhong_sz@192.168.1.26:29418/android/kernel/kernel-3.0.8'


[问题] 在中文情况下 git status是 “\344\272\247\345\223\201\351\234\200\346\261\202” 差不多这样的。
[解答] git config --global core.quotepath false


[问题] git打补丁的方法
[解答] git format-patch -s 028e541af040c76a6e
      git apply xxxx.patch

[问题] CentOS6中配置git命令自动补全
[解答] http://www.111cn.net/sys/CentOS/65611.htm

[问题] git pull ing Indroid4.4-master
You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.
[解答] git commit -m "temp" && git reset --hard HEAD~1

[问题]
[解答] git diff --cached

[问题] git pull默认配置怎么弄?
[解答]
git config branch.working.remote os
git config branch.working.merge Indroid4.4-master
或者
git pull os Indroid4.4-master
简单来说使用git push -u origin master以后就可以直接使用不带别的参数的git pull从之前push到的分支来pull。


[问题] git push默认配置怎么设置?
[解答] git push -u ing Indroid4.4-master


[问题] 升级 CentOS6 git 1.7.1 到 1.7.12
[解答] http://my.oschina.net/heiing/blog/355561

[问题] git push出错
Counting objects: 17, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 916 bytes, done.
Total 9 (delta 8), reused 0 (delta 0)
remote: Resolving deltas: 100% (8/8)
remote: Processing changes: refs: 1, done    
remote: ERROR: missing Change-Id in commit message footer
remote: Suggestion for commit message:
remote: ulps: fix power consume increasing problem when exit ulps
remote:
remote: Change-Id: I7faa12ff904202c3ed6d8e334fddec1af50e3b60
remote:
remote: Hint: To automatically insert Change-Id, install the hook:
remote:   gitdir=$(git rev-parse --git-dir); scp -p -P 29418 mlwang_sz@gerrit.ingenic.com:hooks/commit-msg ${gitdir}/hooks/
remote:
remote:
To ssh://mlwang_sz@194.169.1.26:29418/sw1/slpt
 ! [remote rejected] master -> refs/for/refs/heads/master (missing Change-Id in commit message footer)
error: failed to push some refs to 'ssh://mlwang_sz@194.169.1.26:29418/sw1/slpt'
ingenic@studentworks:/media/data/slpt$ git commit --amend
[master 3ce3724] ulps: fix power consume increasing problem when exit ulps
 2 files changed, 11 insertions(+), 12 deletions(-)

[解答]
ingenic@studentworks:/media/data/m200_android_4_3/bootable/bootloader/uboot$ cp .git/hooks/commit-msg /media/data/slpt/.git/hooks/ -vf
`.git/hooks/commit-msg' -> `/media/data/slpt/.git/hooks/commit-msg'
ingenic@studentworks:/media/data/slpt$ chmod +x .git/hooks/commit-msg
ingenic@studentworks:/media/data/slpt$ git commit --amend


[问题] 让 git输出颜色变成彩色的方法
[解答] 使用下面的配置代码即可
git config --global color.status auto  
git config --global color.diff auto  
git config --global color.branch auto  
git config --global color.interactive auto  

0. 提交代码和同步代码
   提交代码,是往北京的代码仓库提交。cat .git/config里面的[remote "os"]表示深圳代码库,[remote "ing"]表示北京代码库
   同步代码,是从深圳的代码仓库同步。

1.  查看git状态
git status
2.   保存当前目录
git stash

设置全局用户名和邮箱
git config --global user.name "username"
git config --global user.email "email"
git commit --amend --reset-autho
设置当前git仓库的用户名和邮箱
git config user.email maolei.wang@ingenic.com
git config user.name maolei.wang
设置commit默认的编辑器
export EDITOR=vim 或者 另外一个办法
编辑.git/config,在core这块,加入editor = vim


3. 更改git配置,设置代码提交的地方
vi .git/config
[remote "ing"]
    url = ssh://hhyang_sz@192.168.1.26:29418/android/kernel/kernel-3.0.8
    review = https://review.ingenic.cn/
    projectname = android/kernel/kernel-3.0.8
    fetch = +refs/heads/*:refs/remotes/ing/*
    push = HEAD:refs/for/refs/heads/Indroid4.3-master

4. 新建一个分支
git branch s2121b_16t_x2_mlwang

5. 切换到新的分支上
git checkout s2121b_16t_x2_mlwang

6. 更新到最新代码
git fetch --all

7. 弹出当前分支
git stash pop

8. 提交更新代码
git add file1 file2 file3 ....

9. 提交
git commit -m "message"

10.推送代码
git push ing
名字“ing”在目录./.git/config中


11.查看日志
git log

12.查看状态
git status

13.重新提交(recommit)
git commit --amend
弹出一个vi窗口,命令:wq保存退出即可


14.查看分支的详细信息
git show-branch -a --sha | less

15.查看仓库的配置
git config -l

16. 硬回滚
 git reset  --hard 66c103f741d09777448a140f4622e058fc5218d3
在当前目录和最新目录不一样时候,先将更改commit到本地,用git diff sha1 sha2> xxx.patch生成一个补丁。
再用git reset newest_sha 把代码更新到最新的节点。再用patch -p1 xxx.patch打补丁来实现将自己的更改添加到最新的节点上。

17. 制作补丁和打补丁
制作补丁
git diff sha1 sha2 > mlwang.patch
打补丁
patch -p1 < ./mlwang.patch

18. 查看一个文件在两次提交的差别
git diff f2ead7f4bbc  a6c6ef00e2 drivers/video/jz_lcd/lcd_panel/auo_x163.c
git diff HEAD studentworks drivers/video/jz_lcd/lcd_panel/edo_e1392am1.c #其中studentworks是分支名,HEAD是当前commit节点
【问题】
remote: Resolving deltas:  17% (185/1073)
error: unpack failed: error Missing tree 79f34925083ccf5367832f4ad49e4aea8f37c20f
fatal: Unpack error, check server log
To ssh://mlwang_sz@192.168.1.26:29418/android/kernel/kernel-3.0.8
 ! [remote rejected] HEAD -> refs/for/refs/heads/ingenic-master (n/a (unpacker error))
error: failed to push some refs to 'ssh://mlwang_sz@192.168.1.26:29418/android/kernel/kernel-3.0.8'
【解决】

【问题】git status不显示新添加的文件夹
【解决】


【问题】git push后的代码要在gerrit中仔细浏览代码的格式,尤其是从别人那拷贝的代码,不是自己要提交的代码要abandon掉
【解决】

【问题】从 (no branch)合并到master中
【解决】http://blog.csdn.net/zmlovelx/article/details/7464972

【问题】从Git仓库中恢复已删除的分支、文件或丢失的commit
git checkout [commit_id] -- <path_to_file>
举例 git checkout 5ee141400d drivers/video/jz_lcd/lcd_panel/auo_x163.c
     git checkout studentworks drivers/video/jz_lcd/lcd_panel/edo_e1392am1.c # studentworks为分支名
参考:http://sumsung753.blog.163.com/blog/static/146364501201301711943864/

【问题】撤销上次提交,用命令git status还可以看到上次提交的内容
【解决】git reset --mix HEAD~1

同步代码的方式
git checkout --track os/Indroid4.4-master
git pull
或者
./repo sysnc

19. git打包归档
 git archive -o ingenic-master.zip ab70e09c1f5b63fd217d1
 git archive --format tar.gz HEAD -o ~/Downloads/kernel.tar.gz

[问题] github中添加本地的ssh-key的方法

[解答]

1、生成github上可以使用的公钥

ssh-keygen -t rsa -C "jiankangshiye@xxx.com"

一路默认即可

2. 往github中添加ssh key

3. 验证ssh key是否设置成功了

ssh -T git@github.com


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 红米2用不了4g怎么办 小米红米3s卡顿怎么办 魅蓝4g网速很慢怎么办 lol装到c盘了会怎么办 急用钱又借不到怎么办小额信贷 花呗分期买手机额度不够怎么办 2个月婴儿脸皴了怎么办 掉头发怎么办怎样能让头发变多 11个月的宝宝大便干燥怎么办 1岁宝宝又拉又吐怎么办 怀孕八个月了不想要了怎么办 奶水不够宝宝又不喝奶粉怎么办 手机恢复出厂设置密码忘了怎么办 5s锁屏密码忘了怎么办 深圳房子卖了户口没地方迁怎么办 宝马1系130i烧机怎么办 小孩流清鼻涕怎么办最简单方法 孕3个月胎盘低置怎么办 孩子判逆不听家长的话该怎么办 香港购物超5000被海关扣怎么办 浅色衣服被深色衣服染色了怎么办 金立手机微信不能发语音怎么办 吃鸡买的账号密码邮箱忘记了怎么办 氩弧焊枪管带里进水了怎么办 绝地求生穿头盔的时候连衣帽怎么办 开车不小心把光缆线给挂断了怎么办 脚刺到了生锈钢钉没打针怎么办 一加3t背壳螺丝掉了怎么办 30万美金美金中国被扣怎么办 电脑使用迅雷变的很卡怎么办 优盘拷贝过程中失去优盘路径怎么办 用百度云上传视频文件太慢了怎么办 网易云音乐云盘电脑上传很慢怎么办 路由器的宽带账号密码忘记了怎么办 蚂蚁邦路由器管理密码忘记了怎么办 红米2a刷机失败怎么办 小米手机开机图案锁忘记了怎么办 小米6进水无限闪屏开机重启怎么办 红米手机一直卡在开机画面怎么办 红米4卡在开机画面怎么办 红米手机一直在开机画面怎么办