工作笔记之“git 常用命令”

基本配置:
git config --global user.name "xujing"
git config --global user.email jing.xu@nbbsw.com
git config --global color.ui true

建议配置:
git lg 更方便查看提交记录(别名):
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"
好处多多,结合shell命令使用,用了就能体会到。

git pull的时候强制使用--rebase来保证远程历史记录的整洁:
git config --global pull.rebase true
配置后的好处:
.每个修改可以在本地先行提交,而不用担心没有及时pull,导致节点交叉。
配置后提交代码步骤:
    git stash               -------------------未执行更新的时候会提示commit或者stash
    git pull                -------------------和之前一致
    git stash pop --0       -------------------从缓存区取出未commit的本地修改
    git add                 -------------------和之前一致
    git commit              -------------------和之前一致
    git push                -------------------和之前一致
也可以更方便:
    git add                 -------------------和之前一致
    git commit              -------------------和之前一致
    git pull                -------------------和之前一致
    git push                -------------------和之前一致

如果git pull发生冲突的解决办法:
    a).手动修改完冲突的文件
        i.打开提交的文件,假如有提示哪个文件,直接打开提示的文件即可。
        ii.查看文件中时候有类似----HEAD----和----47c6915a5d----,然后合并两个版本的差异。
        iii.“版本库缺乏必要的数据(blob)对象以进行三路合并。 无法求助于三路合并”,可以尝试下使用
            git fsck修复完再重新修改下提交的文件。
            
    b).git add 冲突的文件
    c).git rebase --continue ------------------不可替换为git commit,否则会产生新的merge
                             ------------------信息
    d).git push

pull.rebase默认情况是关闭的:
git config --global pull.rebase false
配置关闭的好处:
git pull速度更快,
修改文件后可直接pull再提交,
坏处:
容易导致节点出现麻花状,历史节点不清晰也会影响自动合patch等。

pull.rebase 为false的配置情况下一定要注意避免产生麻花节点
提交代码步骤如下:
添加修改文件
git add
批量删除文件:
git ls-files --deleted | xargs git rm
提交本地仓库:
git commit -m "commit log"
更新代码:
git pull
将未上传的节点重置到head
git rebase
解决rebase冲突
git add 冲突的文件
git rebase --continue
上传代码:
git push

编译过的代码恢复到没编状态:
git checkout -f
git ls-files -o | xargs rm

回退节点:
git reset --hard ce36f7b
回退最后一次commit 状态:
git reset HEAD^1
生成patch:
git format-patch -s 3316503..ca4c067 -o ./patch
合入patch:

git am -s ./patch/*
制作差分包:
git diff 3316503 ca4c067 --name-only | xargs zip update.zip > update.txt
查看节点修改文件:
git show ca4c067 --name-only
add时多添加了文件want_deleted,想要从缓存区中删掉该文件,可以如下操作:
git reset HEAD want_deleted   (如果直接使用git reset HEAD,不加文件的话会把之前git add进缓存区的文件全部清除掉)。
修改最后一次提交
有时候我们使用git commit提交完了发现有文件忘了提交或是提交log写错了,想要撤销刚才的提交操作,可以使用git commit --amend来修改提交。
比如文件forgotten_file忘了提交,需要加上,另外一个文件want_deleted不应提交的却提交了,需要去除,可以如下操作:
git add forgotten_file
git reset HEAD^1 want_deleted
git commit --amend

禁用(因为会覆盖他人的修改):
git push -f

git整包分段压缩:
tar cjf - .git/ | split -d -b 4000m - BD6753_35GC_C_L1_ALPS.L1.MP3.V2_20151012.tar.bz2.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值