git学习笔记
本文最后更新于:2022年9月23日 下午
常用指令
1  |  | 
理解
基础操作
为常用指令配置别名
在用户目录下创建.bashrc文件,在其中输入想要执行的指令(比较难输入的
1  |  | 
忽略列表
创建.gitignore文件,在其中输入不需要管理的文件名*.a
1  |  | 
分支
查看当前分支git branch
切换与创建分支
创建分支dev,并切换到dev分支git checkout -b <dev>,相当于以下两条指令
git branch dev# 创建分支git checkout dev# 切换分支
对于切换checkout可以用switch代替
创建并切换分支git switch -c <dev>
删除分支
不能删除当前所在的分支
删除dev01分支git branch -d <dev01>
强制删除dev01分支git branch -D <dev01>
合并分支
将<dev01>分支合并到当前所在的分支上git merge <dev01> 
合并冲突之后,将保留冲突部分,手动消除冲突后,再add,commit
查看日志
查看历史提交信息git log [options]
  options可以重复添加:
- –all 显示所有分支
 - –pretty=online 将提交信息显示为一行
 - –abbrev-commit 使得输出的commitid变简短
 - –graph 以图的形式显示
 
查看之前的所有操作记录git reflog
选中即复制,点击鼠标滚轮粘贴
版本回退
git reset --hard <commitid><commitid>根据git log查看
远程仓库
添加远程仓库git remote add <origin> <仓库地址>
查看关联的仓库git remote -v
推送到远程仓库
git push [-f] [--set-upstream] [远程仓库名称] [本地分支名][:远端分支名]
- 远程仓库和本地仓库分支名称相同
git push <origin> <master> - –set-upstream 推送到远程的同时并建立起和远端分支的关联
 - -f表示强制覆盖
当前分支和远程分支已建立联系可以直接git push,第一次push时需要添加--set-upstream参数或者直接使用-u 
抓取与拉取
抓取指令git fetch [remote name] [branch name]
- 需要在在抓取之后
git merge origin/master才能查看到代码的内容 - 将远程仓库里的更新都抓取到本地,不会进行合并
 - 不指定远程仓库名和分支名则抓取所有分支
 
拉取指令git pull [remote name] [branch name]
- 将远程仓库的修改拉到本地自动合并,等于fetch+merge
 - 若不指定remote name 和 branch name 抓取所有并更新当前分支
 
开发流程
个人开发
   配合远程仓库使用,一般从远程仓库拉取下代码git clone xxx,在本地新建一个分支git checkout -b <new_branch>进行开发测试,开发完成后切换回到主分支,与测试新开的分支合并git merge <new_branch>,最后push到远程仓库即可
团队开发
  与个人开发流程比较类似,但在本地修改完成,上传远程仓库时(此时已处于主分支上)可能会出现冲突(原因:他人先一步提交)导致上传失败,此时需要先git pull拉取远程主分支的内容,在本地修改冲突内容(会有提示),修改完成再依次add commit push即可