git的简单使用

1.在安装完git之后,需要:
   $ git config --global user.name "Your Name"
   $ git config --global user.email "email@example.com"
   
2.创建版本库
  $ mkdir test  创建版本库
  $ cd test   跳转版本库
  $ pwd   查看当前目录地址
  $ git init   初始化 命令这个目录变成可以管理的仓库
  $ ls -ah 命令查看
  
  编写文件时,要用Notepad++编写  使用utf-8 without bom的方式
 
  添加文件时,要将编写的文件放到创建的目录下,在
  $ git add readme.txt
  添加完文件,需要
  $ git commit -m "add 1 files."
  
3.修改文件后的操作
  首先,将readme.txt文件的内容进行更改  例如:添加一个单词distributed
  $ git status  查看状态  
     查看结果如下:
$ git status
     # On branch master
     # Changes not staged for commit:
     #   (use "git add <file>..." to update what will be committed)
     #   (use "git checkout -- <file>..." to discard changes in working directory)
     #
     #    modified:   readme.txt
     #
     no changes added to commit (use "git add" and/or "git commit -a")
 
  说明,我们readme.txt文件的内容已经被更改了,需要通过
  $ git diff readme.txt
    diff --git a/readme.txt b/readme.txt
    index 46d49bf..9247db6 100644
    --- a/readme.txt
    +++ b/readme.txt
    @@ -1,2 +1,2 @@
    -Git is a version control system.
    +Git is a distributed version control system.
    Git is free software.

查看了我们修改的不同地方,然后需要我们
$ git add readme.txt
在查看状态就ok了 
$ git status
# On branch master
    # Changes to be committed:
    #   (use "git reset HEAD <file>..." to unstage)
    #
    #       modified:   readme.txt
    
说明,我们需要将readme.txt文件提交
$ git commit -m "add distributed"
在查看下状态
$ git status 
# On branch master
    nothing to commit (working directory clean)

4.版本的更改
  $ git log  来查看历史记录 内容量大
  $ git log --pretty=oneline   查看历史,清晰
  首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,
  也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),
  上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
  
  回退到上个版本
     $ git reset --hard HEAD^
HEAD is now at ea34578 add distributed
  查看
     $ cat readme.txt
Git is a distributed version control system.
     Git is free software.
 
  如果想回到最新的版本怎么办?
     $ git reset --hard 12345654  //就是到上方我们操作的地方查找她的id


  如果不小心关掉,但是还想要回到最新的版本呢?
     $ git reflog   进行查看记录的每一条命令
 
5.管理修改
  当一个文件首先更改了一次,查看状态,并添加到暂缓区,然后再修改文本内容,提交commit内容
  结果却是第一次修改提交上了,第二次修改没有被提交,我们需要在一次添加到暂缓区,然后提交
  
  
  
  用git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别:


  $ git diff HEAD -- readme.txt 
  diff --git a/readme.txt b/readme.txt
  index 76d770f..a9c5755 100644
  --- a/readme.txt
  +++ b/readme.txt
  @@ -1,4 +1,4 @@
   Git is a distributed version control system.
   Git is free software distributed under the GPL.
   Git has a mutable index called stage.
  -Git tracks changes.
  +Git tracks changes of files.
  
  
6.撤销修改
  *如果没有将修改的内容添加到暂缓区,可以使用$ git checkout -- readme.txt  来将修改的内容改回到原来的状态
  *git checkout -- file命令中的--很重要,没有--,就变成了“创建一个新分支”的命令,
   我们在后面的分支管理中会再次遇到git checkout命令。
  *如果已经将修改的内容添加到暂缓区,但是没有提交,我们可以先git status 
   然后在 git reset HEAD file 然后再git status查看下,现在暂存区是干净的
   然后我们在使用git checkout  -- file  将工作区的修改丢弃
   
7.删除文件
  通过rm file_name  删除内容
  通过git rm  file_name  
      git commit -m "remove file_name" 删除内容
  通过 git checkout -- file_name  恢复到最新版本   可是不对啊???????????
  
8.远程仓库
  通过 ssh-keygen -t rsa -C "youremail@example.com"  然后就默认的enter就可以了
  到主目录下查看是否有.ssh文件  ,.ssh文件目录下有两个子文件id_rsa 和 id_rsa.pub
  id_rsa 是私钥,id_rsa.pub是公钥  ,我们在github中设置SSH的时候,只需要公钥


9.从远程库克隆
  使用git clone 命令克隆
  
10.创建和合并分支
   每次提交,Git都吧它们穿成一挑时间线,这条时间线就是一个分支。截止目前,只有一条时间线,在Git里,这个分支叫主分支,
   及master分支,HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支
   
   一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能
   当我们创建新的分支时,如dev时,Git新建了一个指针叫dev,指向master相同的提交,在把HEAD指向dev,就表示当前分支在dev上
   在主分支时,不能直接创建分支--git branch dev  只能创建并切换到分支--git checkout -b dev 
   
   在文件learngit中可以
   查看分支  git branch
   创建分支  git branch name
   切换分支  git checkout name 
   创建+切换分支  git checkout -b name 
   合并某分支到当前分支  git merge name 
   删除分支 git branch -D name 
   
11.解决冲突 
   当在主分支上和其他分支上提交分别提交内容,发生了冲突,首先提交查看状态,冲突之后解决冲突,在提交
   用git log --graph命令可以看到分支合并图
   
12.合并分支
   使用git merge --no-ff -m "merge with no-ff" dev  //是将dev上的分支合并,参数--no-ff表示禁用Fast forward
   
13.bug分支
   临时存储命令  git stash
   如果是在master上创建分支 则 git checkout -b issue-101
   添加并提交  git add file_name   git commit -m "fix bug 101"
   完成合并 就删除分支 issue-101
   使用 git stash list 查看我们之前的工作现场
   一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
   另一种方式是用git stash pop,恢复的同时把stash内容也删了;
   
14.Feature分支
   如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name> 强行删除
   
15.多人协作
   查看远程信息 git remote   或者,用git remote -v 显示更详细的信息
   
   推送分支,就是把该分支上的所有本地提交送到远程库。推送时,要指定本地分支,这样,git就会把改分支推送到
   远程库对应的远程分支上
   git push origin master
   如果推送到其他分支,如dev,就改成:
   git push origin dev 
   
   master分支是主分支,因此要时刻与远程同步;
   dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
   bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
   feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
   
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值