Denua 博客

Git 工具的使用

发布时间: 2018-04-11 23:29   分类 : 其他    标签: 工具 浏览: 515   


Git 是一个分布式版本控制系统, 用于版本控制, 协作开发。 ## 创建一个仓库 代码仓库就是一个可以控制版本的文件夹, 这个文件夹可以在任意位置。 mkdir /home/project cd /home/project 创建一个文件夹后, 进入该目录, 初始化为一个仓库 git init 这时, 将提示 Initialized empty repository in /home/project/.git/, 并在该目录下创建了一个文件夹 .git 这个文件夹里的是关于版本更改的各种信息, 不必理会 ## 提交更新 我们将项目文件放到 /project,比如 readme.txt, 光是放到该目录是不够的, 还需要将更新提交到仓库。执行以下命令 git add readme.txt git commit -m "readme" 执行 add 命令时无回显,表示成功, 执行 commit 命令时提示 [master 9865asd] readme 1 file changed, 3 insertions(+), 1 deletion(-) 提示成功修改的信息, 其中每次执行 commit 命令之前都是视为一次更改, add 命令可以添加多个文件, commit 命令后的参数 m 表示这次更改的注释所有之前 add 的文件都将添加这个更新注释。 **查看历史版本** 命令 git log 提示 commit 02121sdf2a2df2asfd12a1sdf (HEAD -> master) Author: denua ( denua#qq.com ) Date: Wed Apr 11 14:51:49 2018 +0800 readme 其中 commit 后的一串为 id用于标识每个版本, HEAD 表示这个是当前版本, Author 表示提交者 , date 日期, 最后 readme 为版本更新注释 ## 版本回退 假如我修改了 readme.txt , 更新了仓库, 更新注释为 new version。执行命令 git reset --hard HEAD^ * 注: window中把 HEAD^ 改为 HEAD~ 或者 "HEAD^" 其中 HEAD 表示当前版本 ^ 表示上一个版本, 如果将 HEAD^ 改为 ^^ 则表示上上个版本 ^8 表示往前八个版本, 执行这个命令回显 HEAD is now at 9865asd readme 表示回到了上一个版本, 如果要列表很长, 不知道到底是第几个版本, log 命令可以查看所有记录。执行以下命令可得到一样的效果 git reset --hard 02121sdf2a2df2asfd12a1sdf 在这个命令中, 将之前的 HEAD^ 改为了 02121sdf2a2df2asfd12a1sdf, 这个是版本 id , 如果觉得太长可以 只输前几位, 只要没有前几位一样的就可以。 **如何回退到未来版本** 假如我现在回到了第 N 个版本以前, 想回到最新版本怎么办, log 命令只有当前版本之前的版本, 并没有当前版本之后的版本, 这时候就是用 reflog 命令 git reflog 回显 f45d45f (HEAD -> master): HEAD@(0) moving to 02121sdf2a2df2asfd12a1sdf 25asdf1 HEAD@(2): commit: new version d62cd9d HEAD@(3): commit(initial):readme 再 git reset --hard 25asdf1 即可回到未来版本 new version ## 添加到远程仓库 先在 GitHub 注册一个账号, New repository 添加一个仓库, 设置一个仓库名称, 勾选 Initialize this repository with a README, 自动创建一个 README 文件。 得到一个链接: git@github.com:你的昵称/Repository名称.git 之后创建一个 SSH Key,进入 Git Bash(注意, 在windows下不是shell或者cmd),输入命令 ssh-keygen -t rsa -C "youremail@example.com" 其余选项默认回车即可, 可以在用户目录(win 在 c:/user/username/.ssh/下)找到生成的一对秘钥,id_rsa.pub(公钥) 和 id_rsa(私钥), 把私钥中的内容复制到 GitHub 中(settings > SSH and GPG keys > new SSH key). 切换到本地仓库, 输入命令 git remote add origin git@github.com:你的昵称/Repository名称.git 输入yes git push -u origin master 即可在 GitHub 上看到你提交到远程仓库的内容。以后只要执行 git push origin master 即可同步到远程。 **从远程同步到本地** git clone git@github.com:你的昵称/Repository名称.git 即可 ## 创建分支 创建分支 git branch 分支名称 转到分支 git checkout 分支名称 分支可以单独更新不影响住分支, 最后完成了分支的任务可以合并主分支。创建并转到分支, 命令 git checkout -b 分支名称 当当前分支任务完成了以后合并主分支 git merge 分支名称 删除分支 git branch -d 分支名称 (完)

评论    

Copyright denua denua.cn