Git 快速查询笔记
语句
1.git init
2.git add ./filename : 插入所有/插入filename
3.git commit -m "some infomation"
4.git status : 文件修改过的痕迹
5.git diff : 查看修改内容
6.git log : 文件提交的记录
7.git log --pretty=oneline : 文件提交的简约记录
8.git diff -- filename : 查看filename一个文件的改变
9.git checkout -- filename : 在修改filename之后,没有add之前可以撤销你修改的代码(一键还原到本地版本库中filename最新的状态)
10.git reset HEAD filename : 从暂存区撤下add的修改
11.git reset --hard HEAD^ : 本地版本回退
12.git reflog : 简洁版提交记录
13.git remote add origin git@server-name:path/repo-name.git : 添加远程仓库(先有本地库,再有远程库)
14.git push -u origin master : 把当前工作区中本地版本所有内容推送到远程库上(因为先有本地库,再有远程库,所以使用'-u'参数,如果是第一次推送master分支时候,这个参数会把本地master和远端master分支关联起来,这样以后push或pull可以简化命令)
15.git push origin master
16.git clone git@server-name:path/repo-name.git(现有远程库,再有本地库)
17.git checkout -b branchname : 创建branchname分支并同时切换到branchname分支上
18.git branch branchname : 创建branchname分支
19.git checkout branchname : 切换到branchname分支上
20.git branch : 查看当前所有分支
21.git merge branchname : 合并指定branchname分支到当前分支上(Fast-forword快进模式)
22.git branch -d branchname : 删除branchname分支
23.git branch -D branchname : 强制删除branchname分支
24.git log --pretty=oneline --graph : 查看分支合并的图标
25.git merge --no-ff -m "NOTE info" branchname : 合并brachname分支(使用recursvie 策略)
26.git stash : 能把当前工作现场(没有添加到暂存区的动作)“储存”起来,等以后恢复现场后继续工作
27.git stash apply : 恢复‘储藏’后,stash内容并不被删除,需要使用git stash drop来删除
28.git stash pop : 恢复‘存储’后,stash内容被删除
29.git remote -v : 查看远程仓库信息
30.git push origin master : 推送本地提交到远程仓库的master分支上
31.git push origin branchname : 推送本地提交到远程仓库的branchname分支上
32.git pull : 从远端抓取分支,如果有冲突,要先解决冲突(有点类似于svn中的update,如果每次push失败了,先pull之后再次提交)
33.git checkout -b branchname origin/branchname : 创建本地分支和远程分支的关联
34.git tag vX.X.X : 创建vX.X.X标签
35.git tag vX.X.X commidId : 通过提交的id来创建vX.X.X
36.git tag -a vX.X.X -m "NOTE info" commidId : 通过提交的id来创建vX.X.X,并且写上备注
37.git show tagnmae : 展示tag信息
38.git tag -d vX.X.X : 删除vX.X.X标签
39.git push origin tagname : 可以推送一个本地标签到远程仓库
40.git push origin --tags : 可以推送本地所有未推送的标签到远程仓库
41.git push oirgin :refs/tags/tagname : 可以删除远程仓库的标签
42.git config --global alias.st status : 把status设置一个st的别名
43.git branch -a : 查看远端仓库/本地仓库的分之(*branchname代表当前本地仓库使用的分支branchname)
44:git push origin :branchname : 删除远程仓库的branchname分支
45.git cherry-pick 事务id : 把事务id的功能强制合并到当前分支上
重要概念
1.工作区和暂存区
工作区:当前git工作目录
版本库:'.git'目录,Git的版本库
暂存区(stage或者叫index)
2.管理修改
Git跟踪并管理的是修改,而非文件。
3.撤销修改
5.远程仓库
分支管理
Git分支管理是与众不同的,无论创建,切换和删除,Git一秒钟搞定,无论本地版本库1个文件还是1万个文件。
1.创建和合并分支
因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某一项任务,合并后再删除分支,这样更安全并且效果和master分支开发一样。
2.解决冲突
手动解决
3.分支管理策略
通常,合并分支时,Git会用"Fast-forward"模式,这样模式,删除分支之后,会丢掉分支信息。
如果要强制禁用"Fast-forward"模式,Git就会在merge时生成一个新的commit,这样,从分支历史上可以看出分支信息。
4.分支策略
首先,master分支应该是必须非常稳定的,仅用来发布新版本。
其次,dev分支开发分支,每个开发这都可以由自己dev的dev分支。
6.Bug分支
7.Feature分支
在开发中,不断有新的需求添加进来,借助强大的Git分支,创建Feature分支,ok之后删除。
8.多人协作
使用Git remote -v:
origin git@192.168.111.221:lvable/xcbb_ios_client.git (fetch)
origin git@192.168.111.221:lvable/xcbb_ios_client.git (push)
fetch : 抓取的origin地址
push : 推送的origin地址,如果没有推送权限,就看不到push地址。
推荐推送到远程仓库上分支:
1.master分支是主分支,因此时时刻刻都需要与远程仓库同步;
2.dev分支是开发分支,团队成员都需要在上面工作,所以也需要远程仓库同步;
3.bug分支是本地修复分支,没必要推到远程仓库;
4.feature分支,取决于你是否和你的小伙伴合作在上面开发。
标签管理
发布一个版本,需要给版本库打一个标签。

浙公网安备 33010602011771号