git命令笔记及常见问题记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lylddingHFFW/article/details/75267164

百度网盘:Pro git 第二版中文.pdf 下载
链接: https://pan.baidu.com/s/1bo5gw5T 密码: mufx

个人使用笔记记录:(学习中,望指正)

git clone ssh://dxxx/H -b dev  下载项目并创建分支
git status 查看状态
git add xxxx.java增加一个文档
git commit 提交到暂存
git log  查看日志
gitk  图形化查看日志  更改
git push origin server 提交服务器代码
git push origin 本地分支名:远程分支名 提交到指定分支
git pull  拉取服务器更新到本地

git获取远程服务器的指定分支 https://www.cnblogs.com/phpper/p/7136048.html
git pull origin <远程分支名>:<本地分支名> 拉取指定分支到本地

git diff xxx //对比文件修改

git reset --soft HEAD^ 回退上个版本并保存修改
git reset HEAD app/xxx/MainActivity.java  清空commit文件  暂存区
git commit --amend 追加提交
git checkout app/src/xxx/MainActivity.java清空修改文件
git cherry-pick commitid   复制一个提交到本分支
git reflog  查看引用日志  commit_id
git reset --soft 1a89539 回退

git merge xxx分支 在主分支上:将两个分支的最近的提交和最近的共同提交,三个合并,并产生一个新的提交
git rebase master 在分支上:将最近共同提交之后的分支提交,移动到最近的提交之后,并没有产生新提交

rebase和merge的结果一样,提交个数不一样

git log -p 文件名  查看此文件修改日志

git tag 查看所有tag标签
git checkout -b branch_name tag_name  创建新分支,并指定tag快照点

遇到的问题总结:

关于git pull的问题,如何在不commit的前提下pull回来?
场景:甲修改了文件A并且push到了git server上,这时乙也在修改文件A,他想看一下甲修改了什么,于是从git server上pull下来

git stash 保存工作区
git pull
git stash pop  丢弃工作区

遇到的问题总结:
场景:当有多个commit时,在后续的开发中修改到了某一个提交。
这时本人使用一下命令:(一定要使用git log 并保存所有commit_id,防止丢失

git commit // 保存当前的修改,比如id为commitSave
git rebase -i commitId //返回到要修该commit的上一个commitId
git cherry-pick commitSave//
//pick 时若要提交的文件有冲突则手动解决,其他不需要提交的文件冲突直接git add,后边会清空
git cherry-pick --continue//完成 pick
git reset --soft HEAD^ // 使用--soft,撤销pick的提交
git add
git commit --amend //修补提交
git checkout . //  清空不需要的提交
git rebase --continue //完成全部提交
//如果最后 文件全部提交,则会提示是否提交空提交
//git commit --allow-empty
//git rebase --continue

猜你喜欢

转载自blog.csdn.net/lylddingHFFW/article/details/75267164