创建git仓库:
git init 本地文件夹
git clone 远程目录到本地
创建分支
git checkout -b new-branch old-branch
在old-branch分支上创建new-branch分支:
删除分支
git branch -D branchname
分支切换
git checkout 分支名称
git别名设置:git config -global alias.br branch
- EX:git branch 命令可以用:git br来替换
设置方式:
git config -global alias.br branch
设置成功后,在需要 git branch 命令的地方直接使用 git br
撤销操作:
git commit --amend
代码提交后发现有代码为提交或需要修改提交备注信息,这时先执行git add .命令,
将要提交的文件放到暂存区,然后执行: git commit --amend;
git checkout HEAD files
取消放入暂存区的所有文件执行:git checkout HEAD files
git checkout files
取消对某个文件的修改:git checkout files
git reset HEAD
将暂存区的所有文件都放回工作区:
git reset HEAD 文件路径
将某个文件从暂存区放回工作区:
git reset --soft commit-id
撤销一个commit,工作区和暂存区的内容不变:
git reset --mixed commit-id
错误commit,撤销commit和add,暂存区变化,工作区不变:
git reset --hard commit-id
错误commit之后,想恢复到某个版本库的代码,暂存区,工作区均变化:
git reset –hard origin/master
将本地的状态回退到和远程的一样
git checkout .
撤销工作区所有文件的修改
git checkout --file
撤销某个文件的修改:
Git Tag
列出所有tag: git tag
打tag:git tag v3.1.12
推送到服务器:git push origin v3.1.12
打标签:git tag tagName
创建轻量标签
轻量标签本质上是将提交校验和存储到一个文件中 - 没有保存任何其他信息。
创建轻量标签,不需要使用 -a、-s 或 -m 选项,只需要提供标签名字
EX:git tag v1.4-lw
附注标签:git tag -a v1.4 -m 'name’
在 Git 中创建一个附注标签是很简单的。 最简单的方式是当你在运行 tag 命令时指定 -a 选项:
EX:git tag -a v1.4 -m 'my version 1.4’
推送某个tag到服务器:git push origin [tagname]
在创建完标签后你必须显式地推送标签到共享服务器上。
git push origin [v1.4-lw]
推送所有的tag到服务器:git push origin --tags
把所有不在远程仓库服务器上的标签全部传送到那里。
切换标签:git checkout dailyRelease
查看标签的版本信息:git show dailyRelease
删除本地标签:git tag -d name
EX: git tag -d dailyRelease
删除远程标签:git push origin refs/tags/源标签: refs/tags/目标标签
删除远程标签,相当于推送一个空的标签,到目标便签
git push origin :refs/tags/dailyRelease
给指定的commit打标签:git tag -a tagname commitID
EX: git tag -a dailyRelease commitID
补打标签:git tag -a tag-name commit-d
忘记打标签,可以用此命令补充打标签;
Git log
git log /xxx/xxx/filename
查看指定文件或目录的提交信息
git log --graph
以图表形式输出提交日志
git log -p
查看Commit对文件的改变
Git cherry-pick
单个commit只需要git cherry-pick commitid
多个commit 只需要git cherry-pick commitid1..commitid100
分支B做了一个commit,想把这个commit放在分支A上:
git checkout B
git log
git checkout A
git cherry-pick commit-id
release版本;
1、git merge master --no-commit (合并master文件)
2、git commit -m "合并master代码” (提交commit)
3、git push origin release (推送到release)
将本地dev分支合并到master分支然后提交
git checkout dev
git add .
git commit -m “sdfddsaf”
git commit -m “dadsfasd” --amend // 用同一个commit提交(将本次修改和上次合并到同一个commit)
git checkout master
git pull origin master —rebase //拉取远程master分支和本地的master进行合并
git checkout dev
git rebase master //将master分支合并到dev分支上
git checkout master
git merge dev //将dev分支合并到master分支上
git push origin HEAD:refs/for/master //将本地master分支推到远程master上