Git
初始化一个Git仓库需要用到git init命令
添加文件到git仓库,分为两步
git add <file>
git commit -m message
之所以分两步是因为commit一次,可以提交很多文件
git status 可以查看文件是否被修改过
git diff查看文件修改的内容
git log可以查看从最近到最远提交的日志,以便确定回到哪个版本
head指向的是当前的版本,git允许版本回退,使用命令git reset -hard commit_id 其中commit_id为版本号
git reflog查看命令历史,以便确定回到未来的哪个版本
创建与合并分支
查看分支git branch
列出所有分支,当前分支前面会加一个*号
创建分支 git branch <name>
切换分支 git checkout <name> 或者git switch <name>
创建加切换分支 git checkout -b <name> 或者git switch -c <name>
合并某分支到当前分支 git merge <name>
解决冲突
修饰Bug
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash
一下,然后去修复bug,修复后,再git stash pop
,回到工作现场;
在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>
命令,把bug提交的修改“复制”到当前分支,避免重复劳动。
Feature分支
如果需要增加新的功能,通常是新建一个分支,这么做的目的是为了避免把主分支给搞乱,开发完成以后最后合并,并且删除分支
查看远程库信息,使用git remote -v
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
从远程抓取分支,使用git pull
,如果有冲突,要先处理冲突。