zoukankan      html  css  js  c++  java
  • GIT学习笔记

    笔记整理自廖雪峰老师Git教程

    创建本地版本库

    1、 创建版本库

    
    `git init`
    
    

    2、 把文件添加到仓库(从工作区到暂存区)

    
    `git add readme.txt`
    `git add .`
    
    

    3、 把文件提交到仓库(从暂存区到当前分支)

    
    `git commit -m 'commit'`
    
    

    添加到远程库

    4、 添加一个远程库:生成 http://xxx.git

    5、 要查看远程库的信息,用git remote,或者,用git remote -v显示更详细的信息

    6、 关联已有的本地仓库

    
    `git remote add origin xxx.git`  (origin是远程库的名字)
    
    

    7、 把本地库的所有内容推送到远程库上,把当前分支master推送到远程

    
    第一次推送master分支,加上-u参数,把本地的master分支和远程的master分支关联起来
    `git push -u origin master` 
    
    把本地的修改提交到远程的master分支
    `git push origin master`
    
    如果我们只有一个master分支,就可以直接:
    `git push`
    
    

    从远程库拉取项目

    8、 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆

    
    `git clone http://xxx.git`
    
    

    熟练使用以上步骤就可以愉快的使用git了,但是想要更进一步,还需要往下看:

    工作区和暂存区

    工作区就是你本地的项目文件夹,版本库是工作区里的.git文件。

    Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

    我们使用git提交可以看为三步:
    第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
    第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支;
    第三步是用git push把本地分支中的修改提交到远程库

    其他操作

    9、HEAD指向的版本就是当前版本, Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
    10、穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本, 用git log --graph命令可以看到分支合并图
    11、要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本

    12、git status查看版本库状态
    13、用git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别
    14、git checkout -- file可以丢弃工作区的修改(用版本库里的版本替换工作区的版本)
    15、用命令git reset HEAD <file>可以把暂存区的修改撤销掉,重新放回工作区
    16、命令git rm用于删除一个文件

    17、查看分支:git branch
    18、创建分支:git branch <name>
    19、切换分支:git checkout <name>
    20、创建+切换分支:git checkout -b <name>
    21、合并某分支到当前分支:git merge <name>
    22、删除分支:git branch -d <name>
    23、如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除

    24、Git还提供了一个git stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
    25、用git stash list命令查看保存的工作区
    26、用git stash apply恢复工作现场,但是恢复后,stash内容并不删除
    27、用git stash drop来删除stash内容
    28、用git stash pop,恢复的同时把stash内容也删了

    29、本地新建的分支如果不推送到远程,对其他人就是不可见的,
    30、从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交
    31、在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致
    32、建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
    33、从远程抓取分支,使用git pull,如果有冲突,要先处理冲突

    34、git rebase操作可以把本地未push的分叉提交历史整理成直线;
    35、git rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比

    36、命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id
    37、命令git tag -a <tagname> -m "blablabla..."可以指定标签信息
    38、命令git tag可以查看所有标签,标签不是按时间顺序列出,而是按字母排序的
    39、可以用git show <tagname>查看标签信息,可以看到说明文字
    40、命令git push origin <tagname>可以推送一个本地标签;
    41、命令git push origin --tags可以推送全部未推送过的本地标签;
    42、命令git tag -d <tagname>可以删除一个本地标签;
    43、命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

    44、忽略某些文件时,需要编写.gitignore;
    45、.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
    46、被忽略的文件,可以用-f强制添加到Git
    47、可以用git check-ignore命令检查.gitignore哪个规则写错了

    配置别名

    48、配置别名:git config --global alias.st status,--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用

    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

    49、每个仓库的Git配置文件都放在.git/config文件中,可以手动修改配置,别名就在[alias]后面,要删除别名,直接把对应的行删掉即可,而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中

    git命令总结

    远程拉取版本库

    
    git clone http://xxx.git
    cd xxx
    
    

    创建新版本库

    
    git init
    git remote add origin http://xxx.git
    
    

    提交更新

    
    git add .    //git rm xxx
    git commit -m "Initial commit"
    git push //-u origin master
    
    
    

    来源:https://segmentfault.com/a/1190000017547512

  • 相关阅读:
    第几天
    打印图形
    父类上的注解能被子类继承吗
    [LeetCode] 108. Convert Sorted Array to Binary Search Tree ☆(升序数组转换成一个平衡二叉树)
    探究高可用服务端架构的优秀资料索引
    无序数组的中位数
    [LeetCode] 113. Path Sum II ☆☆☆(二叉树所有路径和等于给定的数)
    [LeetCode] 112. Path Sum ☆(二叉树是否有一条路径的sum等于给定的数)
    翻转单词
    [LeetCode] 110. Balanced Binary Tree ☆(二叉树是否平衡)
  • 原文地址:https://www.cnblogs.com/datiangou/p/10192639.html
Copyright © 2011-2022 走看看