Git操作指南
一、创建新项目
git init创建新项目
vim README.md添加README文件
git add README.md将新文件添加
git commit -m 'init project'创建第一个提交
去GitHub上创建新仓库,选择public并不选择添加README
点击Create repository
创建完成后网页将提示如何创建新工程或向服务器推送已有的仓库。

git remote add origin https://github.com/***.git设置本地项目的远程仓库
git branch -M master创建主分支
git push -u origin master将master分支推送到远程服务器
如果推送不上去的话可以切换ssh链接尝试:
git remote remove origin删除之前配置的远程服务器
git remote add origin git@github.com:***.git添加SSH链接
刷新网页即可看到新项目
二、进行项目维护
新建分支并切换到该分支:
git branch tcmckrlitb&&git checkout tcmckrlitb
或git checkout -b tcmckrlitb
可选择编辑.gitignore文件来配置git忽略掉的文件
git status查看新增的文件
git add .跟踪所有更改文件,也可以通过git add 文件1 文件2 ...来跟踪需要的文件
注意,所有更改未跟踪之前是不能切换分支的,新文件要么跟踪/记录要么删除,修改文件可以使用
git restore 文件1 文件2 ...来回档
git commit -m 'added new file'来提交更改
git checkout master回到主分支
git merge tcmckrlitb --no-ff将新分支的修改合并到主分支
三、rebase
当一个子分支较长时间未与主分支同步,中间已经有了很多个提交,我们希望新分支base on最新的主分支的节点,来使得之后的合并操作尽可能少出问题
git checkout tcmckrlitb切换到子分支
git rebase master将代码rebase到主分支的最新内容
如果出现conflict冲突,则需要解决冲突,在本地手动选择是保留master分支的修改还是tcmckrlitb分支的修改,解决完冲突之后
git add conflictfile.md将冲突文件添加
git commit -m 'resolve conflict'将解决分支打为一个新的节点
git rebase --continue来完成rebase的功能
在多人协同开发时尽量使用rebase来解决冲突,避免由于没有权限导致在线上解决冲突出现问题
四、回档有误的commit
git reset --soft HEAD~1波浪线后的数字代表从头部开始往前回溯多少个节点
如果想要撤销这些修改
git restore .并删除创建的新文件
git status检查没有修改内容后回档完毕
如果想将这些修改合并为一个提交
重新git add .并commit即可
五、gitignore配置
当前项目中有一些不希望被同步的无效的文件可以配置.gitignore文件对其进行过滤
例如MSPM0G3507文件夹中每个项目都有debug文件夹,是编译产生的文件,不需要进行同步
vim .gitignore创建配置文件
添加下面的行:
# MSP debug files
MSPM0G3507/**/Debug/
再进行git add .将忽略这些文件
常用的ignore:
# vim swap files
*.swp
nouhp.out
# phpstorm project files
.idea
六、暂存修改
如果不小心将修改做在了不希望修改的分支上例如想要修改test却修改了master,又不想回档重新修改,可以使用stash来暂存修改,在当前分支中:
git stash暂存分支
git checkout test切换到正确的分支
git stash pop将修改应用到当前分支
之后再add和commit即可