Git使用

  1. 把已有的代码建立git并上传

    1. git init
    2. git remote add origin https://gitlab.com/nannantingyu/yii.git
    3. git add *
    4. git commit -m "init"
  2. git init
    用 git init 在目录中创建新的 Git 仓库。

  3. git clone
    使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。

  4. git add
    git add 命令可将该文件添加到缓存

  5. git status
    以查看在你上次提交之后是否有修改。
    加了 -s 参数 可以简洁输出
    当你的工作区的文件做了修改,此时还没有git add filename,可以使用git checkout -- filename 回到缓冲区的版本

     vim test.txt  #add line "add new line"
     git add test.txt  #加到暂存区
     git commit -m "add new line"  #提交到本地master分支
     git push origin master  #推送到远程origin仓库的master分支
    
     vim test.txt #add line "add another line"
     git add test.txt  #加到暂存区
     vim test.txt  #add line  "add third line"
     git checkout -- test.txt  #删除"add third line",回到暂存区的那个版本
     git reset HEAD test.txt  #可以将暂存区的内容删除,及删掉"add another line"
     
     vim test.txt  #add line  "add forth line"
     git add test.txt
     git commit -m "forth commit"
     git reset --hard HEAD^  #回到上一个提交的版本
    
  6. git diff
    执行 git diff 来查看执行 git status 的结果的详细信息。

    • 尚未缓存的改动:git diff
    • 查看已缓存的改动: git diff --cached
    • 查看已缓存的与未缓存的所有改动:git diff HEAD
    • 显示摘要而非整个 diff:git diff --stat
  7. git commit
    执行 git commit 将缓存区内容添加到仓库中。
    git config --global user.name 'runoob'
    git config --global user.email [email protected]
    git commit -m '第一次版本提交'
    如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步
    git commit -a

  8. git rm
    git rm 会将条目从缓存区中移除。默认情况下,git rm file 会将文件从缓存区和你的硬盘中(工作目录)删除。
    如果你要在工作目录中留着该文件,可以使用 git rm --cached:
    git add newfile
    git rm newfile --cache
    touch test
    git rm -f test #强制从缓存区和硬盘删除

  9. git mv
    git mv 命令用于移动或重命名一个文件、目录、软连接。

  10. git branch
    分支管理

    1. git branch
      列出所有分支

    2. git branch -d (branchname)
      删除分支

    3. git branch (branchname)
      创建分支

    4. git checkout (branchname)
      切换分支
      当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。

    5. git merge (branchname)
      你可以多次合并到统一分支, 也可以选择在合并之后直接删除被并入的分支。

    6. 合并冲突

       git checkout testing
       vim test    #aaaaa
       git add test
       git commit -m "add line aaaaa in testing"
       git checkout master
       vim test  #add bbbbb=>aaaaa bbbbb
       git add test
       git commit -m "add line bbbb in master"
       git merge testing  #confict
       #手动解决冲突
       git add test  #告知冲突已经解决了
       git push origin master
       git checkout testing
       git pull origin master
      
  11. git log
    提交历史
    git log --oneline #简洁模式
    git log --graph 选项,查看历史中什么时候出现了分支、合并
    git log --reverse 逆向显示所有日志
    git log --author 查看特定用户的提交记录
    如果你要指定日期,可以执行几个选项:--since 和 --before,但是你也可以用 --until 和 --after。

  12. git reset
    如果想回退到某个版本,则可以使用git reset

    git log --oneline  
    #f2fe38f check diff
    #e6f0010 which remote has been added to
    
    git reset --hard HEAD^
    #当使用git reset --hard HEAD^ 回退到上一个版本时,使用git log已经无法看到上个版本之后提交的记录,这时可以使用git reflog 查看所有的操作记录
    
    git reflog
    #f2fe38f HEAD@{1}: reset: moving to HEAD^
    #cc16525 HEAD@{2}: commit: third time commit
    #f2fe38f HEAD@{3}: commit: check diff
    #e6f0010 HEAD@{4}: commit (initial): which remote has been added to
    
    git reset --hard cc16525
    
  13. Git 标签
    如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。

    git tag -a v1.0   #比如说,我们想为我们的项目发布一个"1.0"版本。 我们可以用 git tag -a v1.0 命令给最新一次提交打上(HEAD)"v1.0"的标签。
    
  14. Git 远程仓库

    1. git remote add [shortname] [url]
      添加远程库
      由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息
      使用以下命令生成SSH Key:
      ssh-keygen -t rsa -C "[email protected]"
      之后会要求确认路径和输入密码
      成功的话会在~/下生成.ssh文件夹,进去,打开 id_rsa.pub,复制里面的 key
      回到 github 上,进入 Account => Settings(账户配置)
      左边选择 SSH and GPG keys,然后点击 New SSH key 按钮,title 设置标题,可以随便填,粘贴在你电脑上生成的 key
      为了验证是否成功,输入以下命令:
      ssh -T [email protected]
    2. git remote -v
      查看当前的远程库
      执行时加上 -v 参数,你还可以看到每个别名的实际链接地址。
    3. git fetch
      从远程仓库下载新分支与数据
      该命令执行完后需要执行git merge 远程分支到你所在的分支。
    4. git pull
      该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。
    5. git push
      推送你的新分支与数据到某个远端仓库
    6. git remote rm [别名]
      删除远程仓库
  15. 版本回退

  16. 记录一次分支切换

    1. 当前所在分支为car_v2.3, 要切换到新开发的分支 car_v2.2.8
      git branch   // 查看所有的本地分支
      git checkout -b car_v2.2.8 origin/feature/car_v2.2.8  // 切换远程分支到本地,起名为car_v2.2.8
      

你可能感兴趣的:(Git使用)