`
wx1568520008
  • 浏览: 20440 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于git的一些命令

 
阅读更多

1. Git简介

// 1. 创建版本库

$ cd:e // 切换盘符

$ cd .. // 回到文件上一层(注: cd与..中间有个空格)

$ cd ~ // 回到当前目录的主目录

$ mkdir Git // 创建文件夹Git

$ touch fileName // 新建文件

$ vi fileName // 编辑文件

$ press i button // 开始进入编辑状态

$ press the Esc button // 退出vim编辑区

$ :wq // 退出编辑状态, 回到命令窗口

$ mkdir learngit // 创建文件夹learngit 

$ pwd // 显示当前路径/e/Git/learngit

$ git init // 将当前目录变成一个Git可以管理的仓库

$ touch+文件名 // 直接新建一个文件

$ git add readme.txt // 将文件添加到Git仓库(把文件修改添加到暂存区)

$ git commit -m "wrote a readme.txt." // 将文件提交到仓库(把暂存区的所有内容提交到当前分支)

$ git add file1.txt // 添加file1.txt文件

$ git add file2.txt file3.txt // 同时添加file2.txt和file3.txt两个文件

$ git commit -m "add 3 files." // 一次性提交3个文件

2. 时光穿梭机:

// 2.1 版本回退

$ git status // 查看当前仓库状态(仓库下的工作区文件是否被修改过)

$ git diff readme.txt // 查看工作区的readme.txt与缓存区的readme.txt的区别

$ git log // 查看最近到最远的提交记录(详情: commit id + Author + Date + comment)

$ git log --pretty=oneline // 查看最近到最远的提交记录(简写:commit id + comment)

$ git reset --hard HEAD^ // 回到上一个版本(HEAD: 当前版本,HEAD^: 上一个版本,HEAD~100: 往上100个版本)

$ git reset --hard 1234567 // 回到指定版本号commit id(此处:commit id 假设为1234567******,Git会根据commit id的前几位自动寻找对应的版本)

$ cat readme.txt // 查看readme.txt的内容

$ git reflog // 查看每一次命令记录历史,确保能回到任意版本  

// 2.2 工作区与暂存区

$ git diff readme.txt // 比较工作区(working directory)和暂存区(stage/index)的区别

$ git diff --cached // 比较暂存区(stage/index)和分支(master)的区别

// 2.3 管理修改(详见1. 创建版本库中的命令)

// 2.4 撤销修改

$ git checkout -- readme.txt // 撤销修改:1. 文件在添加到缓存区前修改,则回退到原工作区状态;2. 文件在添加到缓存区后修改,则回退到原缓存区状态。也即是将readme.txt撤回到最近一次git add或git commit状态(注:--表示在当前分支,如果没有,则切换到另一个分支)

$ cat readme.txt // 查看文件内容

$ git reset HEAD readme.txt // 1. 回退到最新版本;2. 将暂存区的修改回退到工作区

// 2.5 删除文件

$ rm test.txt // 删除工作区文件(类似于手动删除)

$ git status // 查看当前工作区与缓存区状态

$ git rm test.txt // 情况1:确认删除

$ git commit -m "remove test.txt" // 情况1:确认删除后,提交到版本库

$ git checkout -- readme.txt // 情况2:误删,需要回退(即:用版本库里的版本替换工作区的版本)

// 3. 远程仓库

// 3.1 添加远程库

git remote add origin git@server-name:path/repo-name.git // 关联一个远程仓库,如:$ git remote add origin git@github.com:ChrisLeejing/learngit.git

git push -u origin master // 第一次推送master分支的所有内容

注:在GitHub上创建新仓库时,如果勾选了README.md选项时,可能会出现下面错误,提示:远程仓库有readme.txt,而本地仓库没有README.txt,此时应该先进行合并文件,再进行推送。

git pull --rebase origin master // 推送之前,进行合并

合并文件之后,发现本地仓库中多了README.md文件,此时再进行推送修改到远程仓库就可以了。

再次执行:git push -u origin master, 即可推送本地仓库到远程仓库了

git push origin master // 以后每次本地修改更新后,推送最新修改

// 3.2 从远程库克隆

$ git clone git@github.com:ChrisLeejing/gitskills.git // 以SSH方式克隆

$ git clone https://github.com/ChrisLeejing/gitskills.git // 以Https协议方式克隆

// 4. 分支管理

// 4.1 创建与合并分支

git branch // 查看所有分支(当前分支以‘*’标记)

git branch <name> // 创建分支(如:git branch dev)

git checkout <name> // 切换分支

git checkout -b <name> // 创建切换分支(如:git checkout -b dev)

git merge <name> // 合并分支到当前分支上

git branch -d <name> // 删除该分支

// 4.2 解决冲突

git log --graph // 查看分支合并图

git log --graph --pretty=oneline --abbrev-commit // 查看分支合并缩略图

// 4.3 分支管理策略

git merge --no-ff -m "注释" dev // 合并后的分支有历史记录,而Fast-Forward合并之后,分支没有历史记录

// 4.4 Bug分支

git stash // 隐藏分支工作现场,为修复bug准备

git stash list // 查看有哪些分支隐藏的工作现场,为恢复工作现场做准备

git stash apply // 恢复工作现场,但不删除存储的stash内容,结合git stash drop进行删除

git stash drop // 删除存储的stash内容,恢复到隐藏前的工作现场

git stash pop // 恢复到隐藏前的工作现场,相当于git stash apply和git stash drop

git stash apply stash@{0} // 可以多次stash,通过git stash list查看所有的stash,然后可以恢复到指定的隐藏的工作现场

// 4.5 Feature分支

注:当添加一个feature时,最好新建一个分支:git checkout -b <name>

git branch -D <name> // 强行删除一个没有被合并到主分支的分支

// 4.6 多人协作(最好结合工作场景理解)

git remote -v // 查看远程库详细信息

git push origin dev // push本地dev分支到远程dev

git push origin master // push本地master分支到远程master(时刻保持同步)

git pull // 将最新的pull/dev(master)爬下来

git checkout -b branch-name origin/branch-name // 在本地创建和远程分支对应的分支

git branch --set-upstream-to=origin/<branch> dev // 建立本地分支和远程分支的关联

// 4.7 Rebase

git rebase // 将本地未push的分支提交整理成直线,利于查看

// 5. 标签管理

// 5.1 创建标签

git tag <tagname> // 创建标签

git tag // 查看所有标签

git tag <tagname> commitId // 为某次提交创建指定标签

git show <tagname> // 查看指定标签具体内容

git tag -a <tagname> -m "v0.1 released" commitId // 为某次指定的提交创建标签,同时添加标签注释

git tag -d <tagname> // 删除某个标签

git push origin <tagname> // 推送某个标签到远程库

git push origin --tags // 一次性推送所有标签到远程库

git tag -d v0.9 // 删除远程库标签(第一步:删除本地库标签)

git push origin :refs/tags/v0.9 // 删除远程库标签(第二步:从远程库删除标签)

// 6. 使用GitHub

在GitHub上,可以自己fork任意开源仓库,自己拥有fork后的仓库的读与写操作权限,可以推送pull request给官方仓库贡献代码。

// 7. 使用码云(与GitHub类似,用到的时候,再注册使用练习,毕竟GitHub更加NB一些!)

// 8. 自定义Git(这里只是简单入门)

git config --global color.ui true // 让Git显示颜色

// 8.1 忽略特殊文件

忽略某些文件时,需要编写.gitignore文件,文件本身要放到版本库中,Git可以对.gitignore做版本管理!(注:不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

// 8.2 配置别名

git config --global alias.st status // 将st作为status的别名,以后就可以git st查看暂存区与工作区的状态了(还有类似co:checkout, ci:commit, br:branch,--global:是针对于当前用户起作用的,如果不加,则只针对于当前仓库)

cat .gitignore // 查看当前文件所有配置信息(包括别名信息)

转载于:https://my.oschina.net/u/4167465/blog/3090011

分享到:
评论

相关推荐

    git常用命令总结git常用命令总结git常用命令总结git常用命令总结

    git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git...

    git 常用的一些命令

    以下是 Git 中一些常用的命令: 1. Git 文件撤销命令 在 Git 中,可以使用 git reset HEAD . 命令撤销所有已经添加的文件。如果只想撤销某个文件或文件夹,可以使用 git reset HEAD filename 命令。 2. Git 文件...

    linux系统安装git及git常用命令

    git软件包包含了大部分Git命令,是必装的软件包,第二行命令也是Git软件包,但是是单独发布的,可以选择安装。 2 下载远程项目的GIT库到本地[code]$ git clone git://远程Git库地址 filename[code] filename 是你...

    git常用命令.docx

    下面是 Git 中一些常用的命令,这些命令可以帮助开发者快速掌握 Git 的使用。 基本命令 * `git config --list`:查看已有的配置信息 * `git status`:查看当前分支状态 * `git add`:添加所有需要提交的文件/添加...

    Git 常用命令清单

    Git是一种分布式版本控制工具,它允许...随着使用的深入,用户还需要掌握如解决冲突、重写历史、高级分支管理、使用钩子(hook)等更高级的Git命令和技巧。Git的使用是提高团队协作效率和代码管理能力的重要技能之一。

    git命令git命令git命令git命令

    本篇文章将详细解析Git的常用命令,帮助你更好地理解和掌握Git的基本操作。 ### 新建代码库 创建一个新的Git代码库,你可以使用以下命令: 1. 在当前目录初始化Git代码库:`git init` 2. 在指定目录初始化Git代码...

    git常用命令大全

    以下是根据标题和描述中提及的Git命令所延伸出的具体知识点。 **初始化仓库** - `git init`:此命令用于创建一个新的Git仓库。执行该命令后,在指定目录下会生成一个名为`.git`的隐藏目录,该目录包含了所有Git的...

    git常用命令总结下载

    了解并熟练掌握这些Git命令,可以帮助开发者高效地管理代码,协同开发,避免版本冲突,追踪代码变更,确保项目稳定和团队协作的顺畅。在实际使用中,根据项目的具体需求,灵活运用这些命令,可以极大地提高工作效率...

    git命令-git命令-git命令-git命令

    git命令-git命令-git命令-git命令

    git常用命令markdown版

    git常用命令markdown版

    git常用命令速查表

    git常用命令速查表

    git常用命令手册

    ### Git常用命令手册详解 #### 一、概览 本篇文档主要介绍了一套由国外开发者整理的Git常用命令速查表,旨在帮助用户快速掌握并应用Git的基础操作。通过这些简洁明了的命令,即使是Git新手也能迅速上手进行版本...

    官方常用git-命令集合.rar

    这个“官方常用git-命令集合.rar”压缩包包含了一份详细的Git命令参考,帮助用户熟悉并掌握Git的基本操作。以下是Git的一些核心概念和常用命令的详细解释。 1. Git安装与初始化: - `git init`:在本地创建一个新...

    GIT常用命令整理

    了解并熟练掌握这些Git命令,可以帮助开发者更高效地管理和协作项目。HTML文档和PNG脑图可以作为视觉辅助工具,进一步巩固理解和记忆。通过实践和应用,你将能够更加熟练地驾驭Git这个强大的版本控制系统。

    git命令集合 git命令.md

    git命令集合 git命令.md

    git常用命令20160531

    平时常用的git命令

    git常用命令git常用命令git常用命令

    git常用命令

    Coding git 常用命令及总结

    在开始深入探讨具体的git命令之前,我们首先需要理解Git中文件的状态分类。Git跟踪的文件主要分为两种状态:**已跟踪(tracked)**和**未跟踪(untracked)**。 - **已跟踪文件**指的是已经被纳入版本控制系统管理的...

    git 常用命令和示例

    如果您不小心提交了一些错误的更改或者想要撤销某些更改,可以使用`git reset`。如果您不再需要某个文件,可以使用`git rm`从版本控制中移除它。而如果您想要丢弃对某个文件所做的所有更改,可以使用`git checkout`...

Global site tag (gtag.js) - Google Analytics