- 初始化命令
git init
- 管理目录文件状态
git status
- 管理指定文件(红变绿)
git add .
git add 文件名
- 个人信息配置:邮箱、用户名 【一次即可】
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
- 生成版本
git commit -m '描述信息'
- 查看版本记录
git log
- 回滚至之前版本(先查询版本号,再回滚)
git log
git reset --hard 版本号
注意:git log 状态下按q即可退出
- 回滚至之后版本(先查询版本号,再回滚)
git reflog
git reset --hard 版本号
- 将工作区有变动文件回到被管理的状态(文件名和–之间必须有空格)
git checkout -- 文件名
- 将暂存区文件回到新增文件状态(绿变红)
git reset HEAD 文件名
- 查看分支
git branch
- 创建分支
git branch 分支名
- 切换分支
git checkout 分支名称
- 合并分支(可能产生冲突,暂时需要手动处理)
git merge 要合并的分支
注意:切换分支再合并
- 删除分支
git branch -d 分支名称
- git三大区域
- 给远程仓库起别名(github)
git remote add origin 远程仓库地址
注意:origin为远程仓库别名
- 向远程仓库推送代码
git push -u origin 分支名称 [首次]
git push origin 分支名称 [推送分支代码]
注意:origin为远程仓库别名
- 克隆远程仓库代码
git clone 远程仓库地址 [首次]
git pull origin 分支名称 [克隆分支代码]
注意:origin为远程仓库别名
- 保持代码提交整洁(变基)
1、合并log:
git rebase -i HEAD~3
注意:后面数字表明合并最近log数
注意事项:不要合并已经push到远程仓库的log
2、合并分支(变成一条线)
git rebase master
git checkout dev
git merge dev
注意:master 为主分支,dev为要合并的分支
3、避免pull过程中产生分支(例如:忘记推送代码...)
用
git fetch origin 分支名称
git rebase origin/分支名称
代替
git pull origin 分支名称
注意:origin为远程仓库别名
【注意】:在用git rebase 过程中发生冲突也可能会产生冲突与git merge类似,需要手动解决冲突,然后再继续执行。
- 记录图形展示
git log --graph --pretty=format:"%h %s"
- 补充
git pull origin 分支名称 == git fetch origin 分支名称 + git merge origin/分支名称
注意:origin为远程仓库别名
总结
真是相见恨晚啊!!!真不知道大学四年都干啥去了,想想当初苦苦的修改代码不断地改删浪费半天时间,简直太可笑了呀!呜呜呜~