Git 备忘录

整理了一下工做中经常使用的 Git 操做,持续更新中...
 
merge单个文件
例如 B分支想要合并A分支的某个文件
首先,咱们切换到B分支  git checkout branch B
以后,咱们checkout A 分支的a文件,git checkout --patch  A  a路径 
最后,弹出修改确认提示:
Apply this hunk to index and worktree [y,n,q,a,d,/,K,g,e,?]?
在弹出的都选  y 便可。
若是不想应用更改的,在弹出的都选 n 便可。
最后提交代码完成更新合并同步。
 
撤销上一次操做
git reset --hard HEAD^
HEAD^的意思是上一个版本,也能够写成HEAD~1
若是你进行了2次commit,想都撤回,可使用HEAD~2
参数:
--mixed 
不删除工做空间改动代码,撤销commit,而且撤销git add . 操做
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是同样的。
--soft  
不删除工做空间改动代码,撤销commit,不撤销git add . 
--hard
删除工做空间改动代码,撤销commit,撤销git add . 
注意完成这个操做后,就恢复到了上一次的commit状态。
 
撤销 commit 操做,但保留代码
git reset --soft HEAD^
仅仅是撤回commit操做,代码仍然保留
 
查看文件修改
git log --name-status 每次修改的文件列表, 显示状态
git log --name-only 每次修改的文件列表
git log --stat 每次修改的文件列表, 及文件修改的统计
git whatchanged 每次修改的文件列表
git whatchanged --stat 每次修改的文件列表, 及文件修改的统计
git show 显示最后一次的文件改变的具体内容
git show -5 显示最后 5 次的文件改变的具体内容
git show commitid 显示某个 commitid 改变的具体内容
 
给本地和远程仓库重命名
1.重命名本地分支
git branch -m new-name #若是当前在要重命名的分支
git branch -m old-name new-name #若是当前不在要重命名的分支
2.删除远程旧名称分支而且push新名称分支
git push origin :old-name new-name
3.关联新名称的本地分支和远程分支
git push origin -u new-name
 
修改远程仓库地址
git remote set-url origin [url]
 
本地分支关联远程仓库上游分支
git branch --set-upstream-to=origin/remote_branch  your_branch
 
分支重命名
1. 本地分支重命名(尚未推送到远程)
git branch -m oldName newName
2. 远程分支重命名(已经推送远程-假设本地分支和远程对应分支名称相同)
a. 重命名远程分支对应的本地分支
git branch -m oldName newName
b. 删除远程分支
git push --delete origin oldName
c. 上传新命名的本地分支
git push origin newName
d. 把修改后的本地分支与远程分支关联
git branch --set-upstream-to origin/newName
 
commit 规范
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变更)
refactor:重构(即不是新增功能,也不是修改bug的代码变更)
test:增长测试
chore:构建过程或辅助工具的变更
 
合并commit
合并commit的简便方法,就是先撤销过去5个commit,而后再建一个新的。
$ git reset HEAD~5
$ git add .
$ git commit -am "Here's the bug fix that closes #28"
$ git push --force
 
git tag
git tag <name>就能够打一个新标签:
用命令git tag查看全部标签:
默认标签是打在最新提交的commit上的
也能够找到历史提交的commit id,而后打上
还能够建立带有说明的标签,用-a指定标签名,-m指定说明文字:
git tag -a v0.1 -m "version 0.1 released" 1094adb
用命令git show <tagname>能够看到说明文字:
 
修改 commit 注释内容
顺便说一下,若是commit注释写错了,只是想改一下注释,只须要:
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就行了
 
Git基本经常使用命令
mkdir XX
建立一个空目录 XX指目录名
pwd
显示当前目录的路径
git init
把当前的目录变成能够管理的git仓库,生成隐藏.git文件
git diff  XX
查看XX文件修改了哪些内容
git reset
–hard HEAD^ 或者 git reset  –hard HEAD~ 回退到上一个版本 (若是想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX
查看XX文件内容
git reflog
查看历史记录的版本号id
git checkout — XX 
把XX文件在工做区的修改所有撤销
git remote add origin https://aaa
关联一个远程库
git push –u origin master
第一次要用-u 之后不须要,把当前master分支推送到远程库
 
git branch –d dev
删除dev分支
git branch -D dev
删除未合并过的dev分支
git stash
把当前的工做隐藏起来 等之后恢复现场后继续工做
git stash list
查看全部被隐藏的文件列表
git stash apply
恢复被隐藏的文件,可是内容不删除
git stash drop
删除文件
git stash pop
恢复文件的同时 也删除文件
git push origin master
把master分支推送到远程库对应的远程分支上
 
推荐阅读
相关文章
相关标签/搜索