git bash使用(转)

GitHub使用

20181019

18:43

这篇主要讲github版本控制管理的一些使用方法

参考:https://blog.csdn.net/wangrenbao123/article/details/55511461/

https://www.cnblogs.com/xbblogs/p/5629139.html

 

  • 创建版本库

什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

 

$ git init     将目录变成git仓库

这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。

 

  • 把文件添加到版本库中

 首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

 

  • demo演示
    • 新建 test.txt 内容 11111
    • 添加入缓冲区:$ git add test.txt

  • 提交至仓库:$ git commit -m "text.txt提交"

  • 查看未提交:$ git status

  • 修改test.txt 内容 22222,不提交
  • 查看修改:$ git diff HEAD -- text.txt

  • Git add git commit提交

  • 版本回退
    • 修改test.txt 内容 33333、提交更新
    • 查看更改日志:$ git log

 

可以看到每次更新有4条日志,分别为版本号、作者、日志、时间

  • 回退版本

$ git reset  --hard HEAD~100    回退到前100个版本

$ git reset  --hard HEAD^^     回退2个版本

可以看到 33333 变成了 22222

  • 恢复版本

回退版本后想恢复

先获取版本号:$ git reset

恢复$ git reset --hard 63e9e33

 

  • 工作区和暂存区

工作区:就是你在电脑上看到的目录,比如目录下test里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。

 

版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD

 

我们前面说过使用Git提交文件到版本库有两步:

  第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。

  第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

  • 撤销修改
    • 添加内容后有错误,马上恢复原来版本
      • 1、手动更改、add 暂存区 commit仓库
      • 2git reset --hard head^ 恢复到某个版本
      • 3、撤销
        • $ Git status 查看状态

可以看到 git checkout -- file 可以丢弃工作区修改

  • $ Git checkout -- test.txt

这样工作区的修改就被撤销了

注意:-- 没有的话就是创建分支了

  • 删除文件
    • 直接把文件删除
    • Rm 文件

  • 从版本库删除,只要提交就行了
  • 撤销删除

只要没commit,利用:$ git checkout test3.txt 恢复删除

 

  • 远程仓库
    • 如前面讲(https://blog.csdn.net/qq_20367813/article/details/83186564),本地创建ssh keygithub添加sshgithub创建新仓库填入test(仓库名)
    • 本地仓库与github关联

$ git remote add origin https://github.com/mayl0415/test.git

  • 本地内容推送远程

远程有了内容

  • 远程github克隆到本地

$ git clone  https://github.com/mayl0415/test.git

 

  • 创建合并分支
    • 在版本回填退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支。
    • 创建dev分支
      • $ git checkout -b dev

  • 等于查看分支、切换分支
    • $ git branch

  • $ git checkout dev

  • 更改test.txt 内容
  • 切换至主分支$ git checkout master

  •  现在我们可以把dev分支上的内容合并到分支master上了,可以在master分支上,使用如下命令

$ git merge dev

我这没合并,切换到主分支,dev分支修改同步过来了?

  • 删除分支:$ git branch -d dev

总结创建与合并分支命令如下:

查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout b name

合并某分支到当前分支:git merge name

删除分支:git branch d name

 

后面还有bug分支与多人协作,暂时用不上,用上了再补上

 

 

 

 

 

 

   Git基本常用命令如下:

 

  mkdir         XX (创建一个空目录 XX指目录名)

 

  pwd          显示当前目录的路径。

 

  git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

 

  git add XX       xx文件添加到暂存区去。

 

  git commit –m “XX”  提交文件 –m 后面的是注释。

 

  git status        查看仓库状态

 

  git diff  XX      查看XX文件修改了那些内容

 

  git log          查看历史记录

 

  git reset  --hard HEAD^ 或者 git reset  --hard HEAD~ 回退到上一个版本

 

  (如果想回退到100个版本,使用git reset –hard HEAD~100 )

 

  cat XX         查看XX文件内容

 

  git reflog       查看历史记录的版本号id

 

  git checkout -- XX  XX文件在工作区的修改全部撤销。

 

  git rm XX          删除XX文件

 

  git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库

 

  git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库

 

  git clone https://github.com/tugenhua0707/testgit  从远程库中克隆

 

  git checkout –b dev  创建dev分支 并切换到dev分支上

 

  git branch  查看当前所有的分支

 

  git checkout master 切换回master分支

 

  git merge dev    在当前的分支上合并dev分支

 

  git branch –d dev 删除dev分支

 

  git branch name  创建分支

 

  git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作

 

  git stash list 查看所有被隐藏的文件列表

 

  git stash apply 恢复被隐藏的文件,但是内容不删除

 

  git stash drop 删除文件

 

  git stash pop 恢复文件的同时 也删除文件

 

  git remote 查看远程库的信息

 

  git remote –v 查看远程库的详细信息

 

  git push origin master  Git会把master分支推送到远程库对应的远程分支上

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_20367813/article/details/83187478