git阶段学习总结

时间:2023-03-08 19:04:24

学习git大约有两个星期了,脑子里总算有点干货了,可以拿出来总结一下:

    git,用于版本控制的,刚开始觉得它是linux下默认的命令,其实也是个工具需要apt-get install git 安装一下。

    里面有很多命令,我也只会一些常用的,其他的大家需要git --help查看一级参数,然后git 参数1 --help基本可以查看所有你想用的命令了,通常我就是这么学习的,虽然是英文但是不妨碍看呢。

git log 查看本分支下最近提交日志。

git branch 查看本分支所在分支,以及列出所有分支。

  git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。

  git branch -d | -D branchname 删除branchname分支 ,注意:-d和-D有区别具体看帮助信息

  git branch -d -r branchname 删除远程branchname分支

git add 将修改的内容添加到所在分支的仓库中

git checkout

  git checkout 分支A 切换到分支A

  git checkout -b 分支B 新建分支B并切换到分支B

  git checkout -f 移除修改的文件,当git fetch出现冲突后,用的比较多

git pull 更新到最近的分支(一般在master分支上做)

git rebase master 使master分支最新的东东加到当前所在的分支上,配合git pull使用

git diff 使更改后的文件与原来的做diff,显示出差异

  git diff --cached 当你git add 更改的文件了,但是还没有commit 这个时候该命令可以查看新旧文件的差异

git show 显示提交后, 显示diff 出文件的差异

git stash 暂时保存为提交的东西,不然虽然你git add了,但是你无法切换分支,然后用git statsh apply id号来还原  

未完待续……

写累了上张图git阶段学习总结精神精神,嘻嘻……

git push 失败的解决办法

假设执行操作:

1. 修改代码

2. git commit

3. git push

a, 此时 push 失败(错误提示:! [rejected] master -> master (non-fast-forward) )

解决办法:

$ git pull

若成功,则:

$ git push origin master:your-id

b, 若出现:error: unpack failed: error Missing tree 30c4809ade0b4b0c81cb7f882450774862b82361

解决办法:

Pushing with --no-thin argument works as a workaround for me

如:git push --no-thin omnigerrit HEAD:refs/for/android-4.4

这个问题发上原因如下:(你可以git push --help查看一下)

This happened to me when trying to push a new patch set to an existing review where the only change was in the commit message. Making a small change in one of the files and pushing that was successful as a work-around for me