初始化命令
git init
管理目录下的文件状态
git status 新增文件或修改后的文件为红色
管理指定文件
git add 文件名 git add .(全部)
生成版本
git commit -m '描述'
查看版本记录
git log
回滚至之前版本
git log git reset --hard 版本号
回滚至之后版本
git reflog git reset --hard 版本号
查看分支
git branch
创建分支
git branch 分支名称
切换分支
git checkout 分支名称
分支合并(可能产生冲突)
git merge 要合并的分支 注意:切换分支后再合并
删除分支
git branch -d 分支名称
GitHub
给远程仓库起别名 git remote add 名称 远程仓库地址 向远程仓库推送代码 git push -u 名称 分支
克隆远程仓库代码 git clone 远程仓库地址(内部实现git remote add 名称 远程仓库地址)
拉代码 git pull 名称 分支
git pull 名称 分支 等价于 git fetch 名称 分支 git merge 名称/分支
rebase
使git提交记录简洁
快速解决冲突
1.安装beyond compare
2.在git中配置
git config --local merge.tool bc3 git config --local mergetool.path '安装目录' git config --local mergetool.keepBackup false
3.应用beyond compare解决冲突
git mergetool
总结
-
添加远程连接
git remote add origin 地址
-
推送代码
git push origin dev
-
下载代码
git clone 地址
-
拉代码
git pull origin dev 等价于 git fetch origin dev git merge origin/dev
-
保持代码提交整洁(变基)
git rebase 分支
$ git checkout dev $ git rebase master $ git checkout master $ git merge dev
解决冲突
在产生冲突的时候,我们先解决冲突。然后做一个
git add .
接着再执行git rebase --continue
操作,再回退到
master
分支,执行git merge dev
操作。 -
记录图形展示
git log --graph --pretty=format:"%h %s"
Tag 标签管理
git tag -a v1.0 -m '版本介绍' 创建本地创建tag信息 git tag -d v1.0 删除tag git push origin --tags 将本地tag信息推送到远程仓库 git pull origin --tags 更新本地tag版本信息 git checkout v1.0 切换tag git clone -b v1.0 地址 指定tag下载代码
提测上线
基于dev分支创建release分支
git checkout dev git checkout -b release
测试
合并到master
使用pull request 或 本地将release合并到master分支
在master分支打tag
git tag -a v2 -m '第二版' git push origin --tags
运维人员可以下载代码做上线
git clone -b v2 地址
给开源软件贡献代码
fork源代码,将别人源代码拷贝到自己仓库
在自己仓库进行修改
给源代码作者提交修复bug的申请(pull request)
git忽略文件
*.h !a.h files/
github任务管理相关
-
inssues,文档及任务管理
-
Wiki,项目文档