三分钟玩转git

三分钟玩转git

      • 常用命令清单
      • 初级用法
        • · clone
        • · pull
        • · add
        • · commit
        • · push
        • · checkout
      • 进阶用法
        • 分支操作
          • 查看
          • 分支切换
          • 分支合并
          • 回退
          • 新建
          • 删除
          • remote
          • 日志
          • 修改个人信息
          • 更新本地的分支列表

  git作为目前世界上最先进的分布式版本控制系统,我们怎么能不会操作呢?相信我,看完我今天的文章,你也是git大神!

常用命令清单

命令 解释
init 创建一个空的Git仓库或重新初始化一个现有的
add 将文件内容添加到索引
branch 列出,创建或删除分支
checkout 检查分支或路径到工作树
clone 将存储库克隆到新目录中
commit 将更改记录到存储库
merge 加入两个或更多的开发历史
pull 从另一个存储库或本地分支获取并合并
push 更新远程引用以及相关对象
rebase 转发端口本地提交到更新的上游头
reset 将当前HEAD复位到指定状态
log 显示提交日志
diff 显示提交,提交和工作树等之间的更改
fetch 从另一个存储库下载对象和引用
grep 打印匹配图案的行
rm 从工作树和索引中删除文件
show 显示各种类型的对象
status 显示工作树状态
tag 创建,列出,删除或验证使用GPG签名的标签对象
bisect 通过二进制查找引入错误的更改
mv 移动或重命名文件,目录或符号链接

初级用法

  一般我们日常工作中主要用的命令有:clone,pulladdcommitpushcheckout,我们只要掌握了这些命令,日常工作就基本够用。接下来我们就介绍下这些命令怎么用。

· clone

作用:

将远程git仓库克隆(复制)到本地

用法:

git clone url

示例:

git clone https://github.com/kingmouse/hello-world.git

· pull

作用:

更新远程仓库文件到本地仓库中

用法:

git pull origin 分支名

示例:

git pull origin master	# 更新远程master内容到本地仓库中

· add

作用:

将本地文件提交到暂存区

用法:

git add filename
git add .	# 全部添加
git add *	# 全部添加

示例:

git add Test.md	# 添加`Test.md`文件到暂存区
git add .	# 添加全部文件到暂存区
git add *	# 添加全部文件到暂存区

· commit

作用:

将暂存区文件提交到本地仓库中

用法:

git commit -m "message"

示例:

git commit -m "git commit 命令演示"	# 将暂存区文件提交到本地仓库中,提交信息为:'git commit 命令演示'

· push

作用:

将本地仓库文件推送到远程仓库中

用法:

git push origin 分支名
git push -f origin 分支名	# 慎用!!!一旦有冲突,那就是一场灾难

示例:

git push origin master	# 将本地仓库中文件推送到远程仓库中

· checkout

作用:

切换分支

用法:

git checkout 分支名

示例:

git checkout feature-1	# 将本地分切换为feature-1

进阶用法

  当我们掌握以上的git命令后,我们就可以愉快的玩耍了,但是在某些情况下,这些命令远远不够,我们需要掌握更高阶的用法。

分支操作

查看
git branch      # 列出本地分支   
git branch -r   # 列出远端分支   
git branch -a   # 列出所有分支   
git branch -v   # 查看各个分支最后一个提交对象的信息   
git branch --merge      # 查看已经合并到当前分支的分支   
git branch --no-merge   # 查看未合并到当前分支的分支   
git remote show origin  # 可以查看remote地址,远程分支
分支切换
git checkout feature-1     # 切换到feature-1分支   
git checkout -b feature-1  # 新建+切换到feature-1分支   
git checkout -b feature-1 master # 基于master新建feature-1分支,并切换   
分支合并
git merge feature-1      # 合并分支 - 将分支feature-1和当前所在分支合并   
git merge origin/master   # 在本地分支上合并远程分支,保留完整的线性历史树   
git rebase origin/master  # 在本地分支上合并远程分支  
git merge feature-1            # 将feature-1分支合并到当前分支   
回退
git reset HEAD *  # 取消已经暂存的文件   
git reset --mixed HEAD * # 同上   
git reset --soft HEAD *  # 重置到指定状态,不会修改索引区和工作树   
git reset --hard HEAD *  # 重置到指定状态,会修改索引区和工作树   
git reset -- files *     # 重置index区文件   
-------------------操作步骤----------------------------
1、使用git log命令,查看分支提交历史,确认需要回退的版本
2、使用git reset --hard commit_id命令,进行版本回退
3、使用git push origin命令,推送至远程分支
新建
git branch feature-1	# 新建feature-1分支  
git checkout -b feature-1 origin/master	# 以远程master分支为基础创建feature-1分支
git checkout -b feature-1	# 新建 feature-1 分支,并切换到该分支
删除
git push origin :feature-1  # 删除远程分支  
git push origin --delete feature-1 # 删除远程分支feature-1  
git branch -d feature-1     # 删除本地分支,强制删除用-D  
git branch -d feature-1      # 删除本地feature-1分支   
git branch -D feature-1      # 强制删除本地feature-1分支   
git remote prune origin # 远程删除了,本地还能看到远程存在,这条命令删除远程不存在的分支
remote
git remote add origin1 https://github.com/kingmouse/hello-world.git  
git remote    # 显示全部源  
git remote -v # 显示全部源+详细信息  
git remote rename origin1 origin2 # 重命名  
git remote rm origin    # 删除  
git remote show origin  # 查看指定源的全部信息  
日志
git config format.pretty oneline  #显示历史记录时,每个提交的信息只显示一行   
git config color.ui true #彩色的 git 输出   
git log #查看最近的提交日志   
git log --pretty=oneline #单行显示提交日志   
git log --graph --pretty=oneline --abbrev-commit   
git log -num #显示第几条log(倒数)   
git reflog #查看所有分支的所有操作记录   
git log --since=1.day #一天内的提交;你可以给出各种时间格式,比如说具体的某一天(“2008-01-15”),或者是多久以前(“2 years 1 day 3 minutes ago”)。   
git log --pretty="%h - %s" --author=自己的名字 #查看自己的日志   
git log -p -2 #展开两次更新显示每次提交的内容差异   
git log --stat #要快速浏览其他协作者提交的更新都作了哪些改动   
git log --pretty=format:"%h - %an, %ar : %s"#定制要显示的记录格式   
git log --pretty=format:'%h : %s' --date-order --graph # 拓扑顺序展示   
git log --pretty=format:'%h : %s - %ad' --date=short #日期YYYY-MM-DD显示   
git log <last tag> HEAD --pretty=format:%s # 只显示commit   
git config --global format.pretty '%h : %s - %ad' --date=short #日期YYYY-MM-DD显示 写入全局配置
修改个人信息
git help config # 获取帮助信息,查看修改个人信息的参数  
git config --global user.name "kingmouse"	# 修改全局名字
    git config --global user.email "[email protected]"	# 修改全局邮箱
git config --list         # 查看配置的信息  
更新本地的分支列表
git remote update origin --prune

你可能感兴趣的:(技术类,java,git,github,分支回退,合并分支)