您的位置:首页 > 其它

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

2015-10-21 20:21 393 查看
基本配置:

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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git 常用命令