关于git方面的基础流程与一般常用代码
正常工作流程(下文中所有小乌龟指tortoise git)
- 建立开发用远端分支(推荐在gitlab操作)
- 克隆远端分支
- 拉取远端分支信息(非必要)
- 代码编写
- 上传代码(建议使用小乌龟)
- 代码推送(建议使用小乌龟)
- 切换分支(推荐切换分支时拉取代码)
- 合并代码
- 处理冲突
- 代码上传
建立开发用远端分支
- 略
代码克隆
- 目的:克隆指定分支代码(伴随新建)
- 代码:
git clone -b 分支名 库地址.git
- 其他说明:此处的分支名既是远端分支名,又是本地分支名,我们推荐远端与本地相互映射的分支名称相同
拉取远端分支信息
- 目的:保证代码的同步
- 代码:
git pull
- 其他说明:启用此指令的时候拉取的是当前分支的数据
代码编写
- 略
上传代码
- 目的:将改动的代码推送到远端分支
- 代码1:
-
git add .
提交所有变化到暂存区(不包括被删除的文件) -
git add -u
将被修改的文件提交到暂存区 -
git add all
为上上述两种的功能的合集 -
git add 文件名1 文件名2 文件名3……
提交指定文件到暂存区
-
- 代码2:
git commit -m 信息
将暂存区中的改动提交到本地版本库 - 其他说明:如果不添加任何信息的话可以仅仅写成
git commit
代码推送
- 目的:将本地版本库上传到远端分支同步
- 代码:
git push
- 说明:如果伴随上传代码的操作推荐使用小乌龟
切换分支
- 目的:切换到其他分支方便后续操作
- 代码:
-
git chekcout -b 本地分支名 远端分支名
创建一个本地分支,该分分支映射远端分支 -
git chekcout 本地分支名
切换到指定分支 -
git checkout 文件名
放弃指定文件更改(不建议使用)
-
- 其他说明:checkout也可以用来还原代码
git checkout commit ID
即可,如果使用git chekcout .
则是放弃所有的改动,还原到目前和本地库一致的状态(仅提出,尽量不建议使用)
代码合并
- 目的:将其他分支的改动合并到当前分支
- 代码:
git merge 有改动的分支
- 其他说明:merge正常完成之后会进入vim编辑模式,输入
:q
退出后,需要git push
处理冲突
- 目的:解决合并代码中出现的冲突完成上传
- 代码:(无/或使用add+commmit)
- 其他说明:推荐此处使用小乌龟,切记处理冲突后提交推送代码,在提交过程中会提示至少有一个冲突的文件,在确认修改完成后,点击忽略进行强制推送即可(此过程比较危险,务必核对所有冲突已解决)
至此普通的工作中场用的流程全部结束
附录(个人收集的一些git指令)
-
git clone 分支名 地址
克隆目标地址文件 -
pwd
显示当前目录 -
git init
将目录变为git可管理的仓库 -
git add 文件名1 文件名2 文件名3
将指定文件添加到当前库 -
git commit
将文件提交,可跟-m 备注说明
-
git status
查看工作区与暂存区的状态(Untracked未跟踪
|Staged待提交|Modified跟踪后被修改) -
git diff
查看修改内容 -
git reset --hard HEAD^
回退至上一版本,其中一个^代表一个版本,超过两个写为~数字
-
git reset --hard 版本号
至指定版本 -
git reflog
查看命令历史 -
git checkout --file
直接丢弃工作区修改(将版本库里的版本替换工作区的版本) -
git rm
用于删除一个文件 -
git branch
查看分支 -
git branch 分支名
创建分支 -
git checkout 分支名
切换分支 -
git checkout -b 分支名
创建并切换 -
git merge 分支名
合并分支到当前 -
git branch -d 分支名
删除分支 -
git log
查看日志 -
git fsck --lost-found
查看最近移除的文件 -
git show 编号
查看移除文件的内容(配合fsck) -
git merge 编号
本地合并移除文件内容 -
git stash
将本地的修改保存起来 -
git stash push
同上(进栈方式) -
git stash list
查看本地保存的代码 -
git stash pop
弹出保存的代码(出栈方式,弹出最近一次存入的) -
git stash clear
清空stash列表 -
git branch --set-pstream-to=远端分支名 本地分支名
关联分支 -
git remote add 短名称 git库地址
增加一个远程分支 -
git remote set-url origin
改变新git库地址
附录二(常用指令缩写)
-
git st
#git status
-
git ci
#git commit
-
git br
#git branch
-
git co
#git checkout
-
git mg
#git merge