Git --- 简单总结一下git版本控制工具的常见使用方法

来源:互联网 发布:指纹识别算法 源代码 编辑:程序博客网 时间:2024/06/18 15:18

Git是目前非常常见的版本控制工具,按照使用场景来看,主要有以下内容:

add & commit & push

add命令的常见用法有:

git add -u 添加修改的, 忽略untracked.git add -p 可以交互方式添加文件内容.git add -A 下边两个都是add所有文件git add *

如果想从add之后的缓冲区删除文件,则:

git rm —-cached <filename> 将文件从git add之后的缓存区中删除.

使用commit提交修改:

git commit -m'commit content'

如果不小心写错了commit内容, 可用下边命令修改最近一次的提交:

git commit -amend

有时候会遇到使用vim时候git commit —amend不能保存的问题,是因为git未正确配置,如下即可:

git config --global core.editor /usr/bin/vim

使用push将本次修改同步到remote端

git pushgit push origin hotfix 第一次push到remote端,则要加上origin。

log

log命令的常见用法有:

git log 查看所有git log -1 查看最近一次git log -p 查看细节git log -20 -pgit log --since="6 hours"git log --before="2 days”git log -p --all -- '*'LaunchStopwatchViewController’*’  查看该文件的所有git记录,可查找已删除的文件记录.

查看历史命令:

git reflog 

diff

diff主要用于查看代码差异:

git diff 查看当前目录与暂存区的差异git diff --cached 查看已add的差异.git diff <commit_id1> <commit_id2> 显示版本库中两次commit之间的差别git diff <commit_id1> 查看工作目录树与版本库中某次提交版本/分支/标签之间的差别

reset & checkout

reset可以忽略add 到 cache 里边的文件:

git reset --hard 回溯版本,跟git上保持一致.git reset HEAD filename 把暂存区的修改撤销,回退到最新版本。git reset —hard <版本号> 回溯到一个版本.

checkout 通常用于切换分支或从git server上获取最新文件:

git checkout <branchname> 切换分支git checkout <filename> 从远端git server上获取最新文件git checkout -p <filename> 交互式方式获取最新文件

branch

branch是版本控制管理非常重要的一个概念:

创建分支

git branch <branchname> 创建分支 git branch <newbranch> <oldbranch> 以某个分支为基础创建新的分支 git branch <branchname> <tagname> 以某个tag为基准创建分支git checkout <branchname> 切换分支 git branch –d <branchname> 删除分支 如果要强制删除则用-Dgit branch –m <oldbranchname> <newbranchname> 分支重命名

合并分支

git checkout mastergit merge <branchname> 将branchname分支合并到当前分支(即master)

如果想单独将branch1的commit合并到branch2中呢?可使用遴选功能:

// 如在develop分支下,可将9bd0e5e这个提交合并进来:git cherry-pick 9bd0e5egit push 如未冲突即合并完成;遇到冲突要单独解决

tag

关于tag的内容,接下来会再做补充。

其他资料

Git的使用感受 — 唐巧
Git使用教程 — 廖雪峰

0 0
原创粉丝点击