当前位置 熊猫博客 Git 正文 下一篇:

Git总结

学习了廖雪峰老师的Git教程,这里总结一下,方便自己快速索引。

Git配置和初始化版本库

# 配置git用户名和邮箱,否则不能提交
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

# git仓库初始化
mkdir learngit
cd learngit
git init

添加文件到暂存区/从暂存区删除文件

# 创建一个文件
vim hellogit.txt
# 添加到暂存区
git add hellogit.txt
# 也可以添加当前目录所有文件
git add .
# 从暂存区删除文件
git rm --cached hellogit.txt
# 从暂存区删除所有文件
git rm --cached *
# 查看状态
git status

提交文件到仓库

# 提交文件到仓库,-m指定本次提交的说明
git commit -m "something..."

比较差异

# 比较工作区和仓库中的差异
git diff HEAD -- hellogit.txt

查看日志

# 查看日志,这里的日志会因为git reset命令而删除
git log
# 查看简洁日志
git log --pretty=oneline
# 查看操作日志,始终会保留,是回退版本的“后悔药”
git reflog

回退版本

# 回退版本,HEAD代表当前版本的指针,HEAD^是回退到上一个版本
git reset --hard HEAD^
# 回退到指定版本(已知版本号),可以配合git reflog命令使用
git reset --hard 7d04ef8

丢弃修改

# 丢弃未添加到暂存区的修改,--代表当前版本,不加就变成切换分支了
git checkout -- hellogit.txt
# 丢弃已添加到暂存区尚未提交的修改
git reset HEAD hellogit.txt
# 如果需要,可以使用git checkout -- 命令丢弃工作区修改
git checkout -- hellogit.txt
# 丢弃已提交到工作区的修改(尚未push),使用reset命令回退版本
git reset --hard 版本号

删除文件

# 删除文件
rm -rf a.txt
# 删除已提交到仓库的文件(不会删除本地)
git rm a.txt
# 提交删除
git commit -m 'delete a.txt'

远程仓库

# 关联GitHub远程仓库
git remote add origin git@github.com:cuitzh/learngit.git
# 首次推送本地仓库到远程仓库,-u参数使本地master和远程master关联起来
git push -u orgin master
# 从远程仓库克隆
git clone git@github.com:cuitzh/learngit.git
# 查看关联信息
git remote
# 查看关联详细信息
git remote -v
# 删除与远程库的关联
git remote rm origin
# 获取远程仓库的所有变动
git fetch
# 强行推送
git push [remote] --force

分支管理

# 创建分支
git branch dev
# 切换分支
git branch dev
# 创建并切换分支,等同于以上两条命令
git checkout -b dev
# 查看所有分支和当前所在分支
git branch
# 合并某分支到当前分支
git merge dev
# 禁用快进模式合并分支,可以从分支历史上就可以看出分支信息
git merge --no-ff -m "merge with no-ff" dev
# 删除分支
git branch -d dev
# 强制删除分支
git branch -D dev
# 隐藏当前分支工作现场,可以使工作区变得干净,方便切换到别的分支
git stash
# 查看隐藏列表
git stash list
# 恢复已隐藏的工作现场(不会删除stash)
git stash apply xxxxxx
# 删除stash
git stash drop xxxxxx
# 恢复已隐藏的工作现场(删除stash)
git stash pop
# 合并其他分支的一个提交
git cherry-pick [commit]

# 推送分支到远程仓库
git push origin dev
# 关联本地分支到远程分支,本地分支名称和远程分支名称最好一致
git branch --set-upstream-to=origin/<branch> dev
# 创建分支时与远程分支关联,本地分支名称和远程分支名称最好一致
git checkout -b dev origin/branch-name

git建议多使用分支进行开发,master只作为稳定版分支,修改bug时建立单独的bug分支,修改完成后合并再删除分支,git stash命令很有用,可以方便地切换到别的分支而不用脏提交。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部