zoukankan      html  css  js  c++  java
  • git命令

    1. 基本配置

      ssh配置:公钥在 ~/.ssh/id_rsa.pub

      git config user.name '{name}'

      git config user.email '邮箱'

    2. 基本操作

    (1)初始化git仓库  git init 

    (2)添加文件到仓库  git add 文件名

    (3)提交代码到仓库  git commit -m '注释' 

    (4)push代码到服务器   git push origin master 

    (5)查看分支:git branch

    (6)创建分支:git branch <分支名>

    (7)切换分支:git checkout <分支名>

    (8)创建+切换分支:git checkout -b <分支名>

    (9)合并某分支到当前分支:git merge <分支名>

    (10)删除分支:git branch -d <分支名>

    (11)git log --graph命令可以看到分支合并图。

     (12)查看远程库信息,使用git remote -v;

    (13)本地新建的分支如果不推送到远程,其他开发者是看不到的,从本地推送分支,使用git push origin 自己的分支名,如果推送失败,先用git pull抓取远程的新提交;

    (14)在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;(branch-name:本地分支名,也就是自己的分支)

    (15)建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;

    (16)从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

    (17)git clone 远程git地址  : 克隆一个远程项目

    (18)git status 查看文件的状态,所谓文件状态的变化就是文件在工作区,缓存区,版本库之间不断的迁移

    git status -u  查看状态

    (19)git merge --no-ff -m '注释说明' 自己的分支名     将自己的分支代码合并到开发分支上

    (20)让git显示颜色:git config --global color.ui true

    (21)要关联一个远程库,使用命令 :git remote add origin 远程仓库地址,

    关联后,使用命令 git push -u origin master第一次推送master分支的所有内容;

    此后,每次本地提交后,只要有必要,就可以使用命令 git push origin master推送最新修改;

    (22)查看远程服务器的相关信息:git remote -v

    (23)git remote show origin(别名)  也可以查看远程服务器的相关信息

    3. 日志操作

    (1)git log   查看提交的日志

    (2)gitk    以图形化的方式展现提交的日志

    (3)git log -1   查看最近的一次提交

    (4)git log -2   查看最近的两次提交

    (5)git log --oneline  查看提交的日志,一行显示

    (6)git log --oneline --graph 查看提交的日志

    (7)git log -1 -p 查看最近的一次提交

    (8)git reflog 显示你所使用过的每一条命令

    (9)git log --graph --pretty=oneline --abbrev-commit  查看提交的日志信息

    4. 版本操作

    在 Git中,用HEAD表示当前版本,也就是最新的提交commit id(提交码),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

    (1)从当前版本回退到上一个版本:git reset --hard HEAD^

    (2)根据提交码进行回退:git reset --hard d302ae7  提交码取前面7位就够了

    (3)git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区

    (1)使用git diff 来比较工作区与缓存区之间的差异

    (2)使用git diff --cached 来比较缓存区与版本库之间的差异

    (3)使用git diff HEAD 来比较工作区与版本库之间的差异

    (4)git diff 文件名   #查看某个文件在工作区与缓存区之间的差异

    (5)git diff HEAD -- filename命令可以查看工作区和版本库里面最新版本的区别

    (6)git diff 远程开发分支名 自己的分支名:查看自己的分支与远程开发分支有什么不同

    (7)git diff origin/develop  develop  查看开发分支有什么不同(develop:开发分支名)

    (1)使用git checkout 从缓存区中取出文件;也可以使用git checkout取出缓存区的状态

    (2)使用git checkout HEAD 来取出版本库中的状态,它会做两步操作:

    第一步:使用版本库中的文件来覆盖缓存区

    地二步:使用版本库中的文件来覆盖工作区

    (3)git checkout -- .   取出当前目录下的所有历史版本

    (4)git checkout HEAD 文件名   从版本库中取出某个文件

    (5)git checkout -- 文件名 丢弃工作区的修改,意思就是,把 该文件在工作区的修改全部撤销,即让这个文件回到最近一次 git commit或 git add时的状态。

    5. 分支操作

    (1)master:主分支

    dev:开发分支,创建开发分支是为了保证master分支的稳定性

    bug:解决bug的分支

    注意:dev,bug是我自己定义的分支名,你请随意

    (2)git branch dev  #创建开发分支

    (3)git branch  #查看分支

    (4)git branch -a  #查看所有分支

    (5)git branch -v  #查看分支,并带有提交码

    (6)git branch -d 分支名   #删除分支

    (6)git checkout dev   #切换到dev分支

    (7)git checkout master  #切换到master分支

    (8)git checkout -b bug   #创建bug分支,并切换到bug分支

    将dug分支合并到master分支:

    首先要切换到master分支:git checkout master

    然后进行合并:git merge bug

    然后查看日志:git log --oneline

    合并完成之后,需要删除bug分支:git branch -d bug   #删除bug分支

    然后在查看分支:git checkout -v

    再切换到dev分支进行开发:git checkout dev

    开发完成之后,提交代码:git add 文件名    #将工作区的代码添加到缓存区

                            git commit -m “注释”  #将缓存区的代码提交到版本库

    切换回master分支合并dev代码:git checkout master

    合并dev代码:git merge dev

    在查看日志:git log --oneline

    6. tag标签操作

    (1)git tag v1.0    打标签 

    (2)git  tag   查看所有标签 

    (3)git show <tagname>可以查看某个标签的详细信息

    (4)git tag <tagname> 用于新建一个标签,默认为HEAD,也可以指定一个commit id

    (5)git tag -d <tagname>可以删除一个本地标签;

    (6)注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。 

    (7)如果要推送某个标签到远程,使用命令git push origin <tagname>:

    (8)一次性推送全部尚未推送到远程的本地标签:git push origin --tags 

    (9)如果标签已经推送到远程,现在需要删除远程标签,首先从本地删除:

    git tag -d <tagname>

     然后,从远程删除。删除命令也是push,但是格式如下:

    git push origin :refs/tags/<tagname>

    7. 删除文件操作

    (1)使用git删除某个某个文件,之后还需要进行提交,否则删除不会成功:

    git rm 要删除的文件名

    git commit -m "del 删除文件"

    (2)误把文件删除,可以通过版本库恢复回来:git checkout -- 误删除的文件

    8. 设置别名操作

    (1)git config --global alias.st status   设置status的别名为st,git st 等价于 git status,下同

    (2)git config --global alias.co checkout

    (3)git config --global alias.ci commit

    (4)git config --global alias.br branch

    --global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。

  • 相关阅读:
    A
    单调栈详解
    C
    序列自动机
    codeforces 805 E. Ice cream coloring(dfs)
    codeforces 805 D. Minimum number of steps(数学)
    codeforces 572 D. Minimization(dp+ 思维)
    codeforces 572 C. Lengthening Sticks(数学)
    codeforces 284 E. Coin Troubles(背包+思维)
    codeforces 284 D. Cow Program(记忆化搜索)
  • 原文地址:https://www.cnblogs.com/cxw296052618/p/9766948.html
Copyright © 2011-2022 走看看