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 test@runoob.com
    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 "youremail@example.com"
      之后会要求确认路径和输入密码
      成功的话会在~/下生成.ssh文件夹,进去,打开 id_rsa.pub,复制里面的 key
      回到 github 上,进入 Account => Settings(账户配置)
      左边选择 SSH and GPG keys,然后点击 New SSH key 按钮,title 设置标题,可以随便填,粘贴在你电脑上生成的 key
      为了验证是否成功,输入以下命令:
      ssh -T git@github.com
    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
      
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,937评论 3 27
  • 本文作者陈云峰,转载请注明。 这篇文章记录个人常用的一些命令,和记不住的一些命令,转载了并不断更新。 Git官网 ...
    陳云峰阅读 2,798评论 0 24
  • 昨天在同事电脑上操作了一把cherry-pick代码,发现很多功能不用,就慢慢忘记了,梳理了下流程图: git c...
    gogoingmonkey阅读 655评论 0 0
  • 写在前面 有关Git的诞生故事以及Git的强大,这里无须赘述。写这篇文章的原因是因为,习惯了用Git桌面工具向Gi...
    艾伦先生阅读 548评论 0 3
  • #幸福是需要修出来的~每天进步1%~幸福实修08班~13-罗洁-余姚# 20170625(7/99) 【幸福三朵玫...
    幸福实修08班罗洁阅读 166评论 5 4