git常见问题汇总

  1. 获取commit id
    git log

  2. 查看commit内容
    git show commit_id查看修改了哪些内容
    git show commit_id --stat查看commit_id具体修改了哪些文件
    git show commit_id:filepathgit 查看某个commit_id对应的具体文件信息

git fork的其他仓库(比如远程仓库A)的代码,fork到自己的仓库是远程仓库B, git clone下来是本地仓库C. 如果需要本地的拉去远程仓库A最新的代码,可以git remote add 远程仓名字(自己起一个) ssh://git***.git
3. git rebase 主仓 master 冲突的时候,需要手动解决冲突,修改完文件之后,git add 冲突的文件,然后git rebase --continue即可,不要commit
4. git stash 导致的冲突,如果只回退文件,可以git checkout HEAD file/to/restore
5. git checkout -b mybranch origin/abranch 直接从origin/abranch 创建分支到mybranch
6. 利用git branch –delete dev命令删除本地分支;
7. 利用git push origin –delete branch命令删除远程分支;
8. 利用git branch –delete –remotes命令删除追踪分支。

git add -u 直接add已经被git管理的文件
git mv 重命名文件
git log -n2 --oneline 查看最近两次的提交
git cat-file -t 文件名(SHA1算法生成的序列)查看类型
git cat-file -p文件名(SHA1算法生成的序列)查看内容
Git对象模型
对象(objects)
类型:4种数据对象:blob,tree,commit,tag
git diff 默认比较的是工作区和HEAD, git diff --cached 比较的是暂存区和HEAD
git branch -D 删除分支
暂存区恢复成head, git reset HEAD, 内容会自动到工作区。
git reset --hard commitid 会删除commit_id, 慎用
git diff temp master --file 比较两个分支文件的差异
git rm 删除暂存区文件
github/gitignore项目里面有很多gitignore可以参考
fast-forward是没有相同的祖先,可以git fetch --all, 然后git merge 查看报错,如果第一次创建仓库,线上有文件而线下没有,可以通过git merge --allow-unrelated-histories remote/branch进行merge.

git diff filename1 filename2 > modify.patch
git apply --stat patchfile

git apply --check patchfile

git apply patchfile

这三条命令分别是,检查patch文件格式,测试patch是否能应用到当前分支,应用此patch。
当无法apply的时候,可以参考如下命令进行apply

git apply --ignore-space-change --ignore-whitespace mychanges.patch

参考:
https://stackoverflow.com/questions/4770177/git-patch-does-not-apply

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值