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

    原文:http://blog.csdn.net/u014079773/article/details/49621889

    备注:

    1.第一次使用Git必须注册git账号,2种方式注册账号,一种是用git命令,另一种是登录github官网注册。

    2.第一次本地工程上传至github上必须注册SSH,因为推送到远程默认使用的是SSH形式

    3.从github上抓取远程工程有2种方式,一种是SSH形式另一种是https形式,默认情况下使用SSH形式,而且SSH形式比https形式快,具体实现方式如下:

    SSH形式为:git clone git@github.com:xx/xxx.git  (xx表示你github登录名,xxx.git表示该账号下某个工程)

    https形式为:git clone https://github.com/xx/xxx.git  (xx表示你github登录名,xxx.git表示该账号下某个工程)

    以下为初学者第一次使用git常用命令:

    1.初始化配置(常用)

    官网下载git并安装,右击“Git Bash Here” 进行git账号注册:

    git config --global user.name "you name"  注册git用户名

    git config --global user.email "you@youdomain.example.com"  注册git邮箱

    git config --list   查看git配置

    或者登录github官网,注册git账号

    把本地工程上传到远程github上则先创建SSH key,该方式提交代码不需要输入用户名和密码。github允许添加多个key,若是你自己笔记本操作,公司电脑操作,则需把每台电脑的key添加到github上,那么每台电脑就可以往github上传工程。

     ssh-keygen -t rsa -C "youemail@example.com"

    把生成的公钥复制到github上,具体操作参考:http://blog.csdn.net/u014079773/article/details/49555989

    2.创建工程并上传至github远程服务(重点)

    第一次创建工程并提交至远程服务首先登录github官网创建远程仓库,点击“Create A Repository”创建一个项目,点击“New Repository”,然后“Project Name”输入“learngit”,“Description”填写描述, 在本地创建一个Github文件夹,在里面再创建一个learngit文件夹,并将项目文件放进去,在“learngit”文件夹上右击“Git bash”出现命令框

    git init          初始化仓库learngit

    git add .       添加所有文件(add与“.”之间有空格,否则不识别的语法)

    git commit -m 'version 1.2'           提交修改文件

    git remote add origin git@github.com:somenone/learngit.git      提交远程仓库(用SSH的形式,关联一个远程仓库)

    git push -u origin master       推送远程仓库

    备注:由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

    之后执行就是 git push origin master

    3.修改本地文件上传至远程仓库(重点)

    修改好本地文件后在“learngit”文件夹上右击“Git Bash Here”出现命令框

    如果添加了内容则先要git add .

    git commit -m "version 1.2"   提交修改

    git commit -a -m "version1.2"   提交所有修改

    git push origin master

    4.文件管理

    git add filename                         修改文件提交到本地暂存区

    git add .                                        修改所有文件提交到本地暂存区(注意add与“.”之间有个空格)

    git commit -m "message"        提交修改

    git commit -a -m "message"    提交所有修改

    git checkout head readme.txt todo.txt    撤销1,2文件修改

    git checkout head .                    撤销所有文件修改

    git status                                     查看当前文件状态

    git rm filename                           删除文件

    git diff filename                          查看修改文件具体内容即比较当前文件与暂存区文件差异

    git reset filename                      从暂存区恢复文件

    git reset --hard HEAD^            恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

    5.仓库管理

    git init                                                                                                  初始化仓库

    git clone git@github.com:someone/xxx.git                                  克隆远程仓库(SSH形式)

    git clone https://github.com/someone/xx.git                                克隆远程仓库(https形式)

    git remote add origin git@github.com:someone/xxx.git             添加到到远程仓库master(SSH形式)

    git push origin master                                                                      推送远程仓库

    git push -u origin dev                                                                       首次将本地dev分支提交到远程dev分支,并且track

    git  pull  https://github.com/someone/xxx.git                                 更新远程仓库(https形式,要先选中仓库)

    git pull git@github.com:someone/xxx.git                                      更新远程仓库(SSH形式,要先选中仓库)

    git remote -v  查看远程仓库

    git remote add origin git@github.com:someone/xx.git 添加远程仓库

    git remote rm name  删除远程仓库

    $ git remote set-url --push origin [newUrl]  修改远程仓库

     

    6.分支管理

    git branch dev                                                                 创建一个分支dev 
    git chekcout dev                                                             切换工作目录到dev
    git chekcout –b dev                                                        创建dev分支并切换到dev

    git branch                                                                         查看分支(当前分支前面会有一个"*")

    git branch -a                                                                     查看所有分支

    git merge dev                                                                  合并dev分支到当前分支master(必须切换到当前master分支才可以合并分支,快速合并)
    git branch –d dev                                                            删除dev分支(合并完成后没有出现冲突删除分支) 

    git branch -D dev                                                            强制删除为合并的分支dev
    git checkout –b dev origin/dev                                     建立本地的dev分支追踪远程仓库的dev分支(本地分支最后与远程分支一致)

    git merge  --no-ff -m "message" dev                          合并dev分支到当前master分支(禁用"Fast-Forward"合并可以生成merge提交)  

    git merge origin/master                                                将远程主分支合并到本地当前分支

    git merge origin/dev                                                      将远程dev分支合并到本地dev分支

    git push                                                                           推送所有分支  
    git push origin master                                                  推送本地主分支推到远程主分支  
    git push  origin dev                                                        推送本地dev分支到远程dev分支

     

    7.历史记录管理(常用)

    git log                                         查看所有历史记录(从最近到最远提交日志,显示详细信息)

    git log filename                        查看指定文件每次提交记录

    git reflog                                    记录每一次提交记录(即查看所有分支所有记录)

    git log --graph                           查看分支合并情况

    8.暂存管理

    git stash                     暂存当前分支

    git stash list               查看暂存分支

    git stash apply           恢复暂存区但不删除内容

    git stash drop            删除暂存区

    git stash pop             恢复暂存区并删除内容


    9.标签管理

    git tag V1.0                                                           创建标签

    git tag                                                                    查看标签

    git show V1.0                                                      查看标签信息

    git tag -a V1.0 -m "version is 1.0"                    创建带有指定说明标签(-a指定标签名 -m指定说明文字)

    git  tag -d V1.0                                                     删除标签

    git push origin V1.0                                            推送某个标签到远程

    git push origin --tags                                         推送所有标签到远程

    git push origin:refs/tags/V1.0                           删除远程标签

    10.忽略一些文件、文件夹不提交

    在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如

    target

    bin

    *.db

    总结:

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码也可以管理私人的文档和源代码。

    git提交仓库在自己本地,每个人都可以拥有自己的本地仓库,互不干扰,最后提交到远程仓库。

    git config --global user.name "you name"

    git config --gloabl user.email "you@youdomain.example.com"

    第一次使用git时,首先要进行用户配置,这是为了拥有git账号,可以提交到远程仓库,然后在远程仓库github上注册自己的账号,那么就可以在github上管理我们的项目。

    git init:初始化本地仓库,即是本地已经创建好的项目,然后执行该命令使得该项目变成git可管理的版本仓库。

    git add remote name url :若是你希望将本地初始化好的仓库提交到远程仓库,那么在远程服务器上创建仓库,进行本地仓库与远程仓库关联

    git add:是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的索引中,该功能类似于SVN的add

    git rm:从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb',该功能类似于SVN的rm、del

    git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git commit -m story #3, add user model',提交的时候必须用-m来输入一条提交信息,该功能类似于SVN的commit

    git push:将本地commit的代码推送到远程版本库中,例如'git push origin master'就会将本地的代码更新到名为orgin的远程版本库中的master分支上

    git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update

    git log:查看历史日志,该功能类似于SVN的log

    git reflog:查看所有分支的所有记录包括commit和reset的操作

    git branch:对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工作版本创建一个叫做new_branch的新分支,'git branch -D new_branch'就会强制删除叫做new_branch的分支,'git branch'就会列出本地所有的分支

    git checkout:Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如'git checkout new_branch'就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如'git checkout app/model/user.rb'就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚

     

  • 相关阅读:
    Linux系统与网络服务管理技术
    RAM阵列
    5月9日上海书城PPT畅销图书作者讲座
    计算变为人们梦寐以求的公用设施
    博文视点大讲堂28期 “助你赢在软件外包行业”成功举办
    WebService WSDL详解(上)
    Google十三年
    预编译头sadafx.h原理
    WebService WSDL详解(下)
    Ext 2.2在IE 9运行居然说Extall.j运行错误,晕死了
  • 原文地址:https://www.cnblogs.com/shihaiming/p/7356146.html
Copyright © 2011-2022 走看看