`
Josh_Persistence
  • 浏览: 1647564 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

Git 常用命令 - 不断更新中

    博客分类:
  • Git
阅读更多

一、git clone

git clone 支持本地和远程repository的克隆,其格式如下:

本地克隆:

  • git clone /path/to/repo.git/
  • git clone file:///path/to/repo.git/

如: 1). git clone git@github.scm.corp.ebay.com:swang6/test.git 

        2). git clone git@github.scm.corp.ebay.com:swang6/test.git test_rename  : 重命名为test_rename  

 

远程克隆repository:

  • git ssh://[user@]host.xz[:port]/path/to/repo.git/
  • git git://host.xz[:port]/path/to/repo.git/
  • git http[s]://host.xz[:port]/path/to/repo.git/
  • git ftp[s]://host.xz[:port]/path/to/repo.git/
  • git rsync://host.xz/path/to/repo.git/

Git clone的参数很多,但是常用的就只有几个:

1. 最简单直接的命令

        git clone xxx.git

 

2. 如果想clone到指定目录

       git clone xxx.git "指定目录"   

 

3. clone时创建新的分支替代默认Origin HEAD(master)

     git clone -b [new_branch_name]  xxx.git

 

4. clone 远程分支

  git clone 命令默认的只会建立master分支,如果你想clone指定的某一远程分支(如:dev)的话,需要使用checkout命令。

       可以如下:

 

  1). 查看所有分支(包括隐藏的)  git branch -a 显示所有分支,如:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

    2).  在本地新建同名的("wsheng_dev")分支,并切换到该分支

git checkout -t origin/dev 该命令等同于:
git checkout -b wsheng_dev origin/dev

如果你用的命令是git checkout origin/dev:可以快速切换到这个分支。但是不会在本地建立这个分支。

 

二、git add:

        git add命令主要用于把我们要提交的文件的信息添加到索引库中。当我们使用git commit时,git将依据索引库中的内容来进行文件的提交。

        1. git add <path>, 如git add .

        我通常是通过git add <path>的形式把我们<path>添加到索引库中,<path>可以是文件也可以是目录。git不仅能判断出<path>中修改(不包括已删除)的文件,还能判断出新添的文件,并把它们的信息添加到索引库中。

        2. gti add -u

        git add -u [<path>]: 把<path>中所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件。省略<path>表示.,即当前目录。

        3. git add -A

        git add -A: [<path>]表示把<path>中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。

省略<path>表示.,即当前目录

       

三、git remote

怎样修改 origin的URL

      git remote -v

      git remote rm origin

      git remote add origin [new urls]

 

四、git stash

      在git pull时如果失败,并提示需要commit本地的changes,那么除了执行git add -A, git commit操作之外还可以用git stash 将本地的changes相当于先"隐藏"起来。

      然后再用git pull 做merge,另外可以使用git stash list查看当前stash的list:对于每一个stash都有其对应的一个index。

       最后使用git stash apply stash@{index} 如git stash apply stash@{0}进行恢复,当然在没有进行多次stash的时候,直接用git stash apply进行恢复。每次新加的stash都是在stash@{0}的位置。stash在使用git stash apply@{0}恢复后,还是会存在于git stash list中的。可以用$git stash clear清除所有暂存。

       如果只想删除某个stash,可以使用git stash drop stash@{inde}删除,如git stash drop stash@{0}

    

五、版本(tag)操作相关命令

查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]

 

六、Git 忽略ssl

可在git命令行执行: git config --global http.sslVerify false

 

七、 I have an already initialized git repo that I added a .gitignore file to, how can I refresh the file index so the files I want ignored get ignored?

First commit any outstanding code changes, and then, run this command:

git rm -r --cached .

This removes any changed files from the index(staging area), then just run:

git add .

Commit it:

git commit -m ".gitignore is now working"

git rm --cahced {ignore file}

 如果要将某个文件或者文件夹添加到gitignore中,如果该文件或者文件夹已经提交过,则必须使用

git rm --cahced {ignore file}, 这样即可立即通过git status观察到.gitignore中被过滤的文件的变化。

可配合使用git rm --cached * , git reset等操作。

 
注意需要git push
 

 八、使用Git 打 diff/patch 并应用该diff和Patch

1. 将所有的改动打成patch / diff

git diff > new.diff

2. 将某个文件(file2)的改动打成patch /diff

git diff file2 > file2.diff

3. 引用diff

git apply new.diff

 

九、怎样撤销commit的内容。

1、git reset HEAD~N 其中N是你想回滚到第几个Commit之前

比如你想撤销最近一次的提交,则使用git rest HEAD ~1

 

如果想要了解git reset的更多常用操作,参照博客:

http://josh-persistence.iteye.com/admin/blogs/2101428

 

Git在提交之前撤销add操作:

在使用git add后,发现有很多文件是不想添加到git库中的,比如说一些需要忽略的文件在git add之前忘记在.gitignore文件中设置需要忽略的文件或文件夹了。

由于此时还没有提交所以不存在HEAD版本,不能使用 git reset HEAD命令。

解决办法:

撤销全部git add的文件 :

git rm -r --cached .

 

撤销文件夹target中的全部文件

git rm -r --cached target/

 

撤销添加的文件file

git rm  --cached file

 

十、git push --all提交新创建的branch

 如果要将本地新添加的branch,如maui这个branch提交到remote,则使用git push是不行的,必须使用

git push --all.

 

十一、恢复对所有文件的更改: git checkout -- *           git checkout *

 

十二、Tortoise git 做merge。如果将Branch A的内容merge到master上。

先git checkout master

然后右击project,在Tortoise git中选择merge并选择From为A。

最后再在master上执行git push操作。

 

十三、Git中删除branch

 1、删除local的branch

git branch -D {branchname}

 -D将直接删除该branch,如果使用-d,如果git发现当前要删除的branch和origin fork来的branch没有进行merge,则提示不能删除,需要进行merge。

 

2. 删除remote的branch

git branch -rd origin/{branchname}

以删除远程branch的josh 为例: 即以git branch -rd origin/josh为例子 :

1) git branch -rd origin/josh

注意: 使用该命令成功删除josh这个branch后,如果使用git branch -a查看,仍旧可以查看到josh的存在

如果使用git push进行提交该删除操作后再使用git branch -a后可以看到josh已经不存在。

但是如果通过url去远程查看时,josh这个branch还存在。

 

2) git push origin --delete josh

执行该命令后,无论是通过git branch -a还是在远程查看,josh这个branch都被删除了。

 

 十四:linux上安装git

sudo apt-get install git-core

 

 

 

2
0
分享到:
评论

相关推荐

    git安装包git-2.34.0-64-bit.rar

    4. **命令行基础**:Git主要是通过命令行工具使用的,掌握常用的命令如`git clone`、`git add`、`git commit`、`git push`、`git pull`等是必不可少的。 5. **分支管理**:Git的分支机制强大且灵活,允许快速创建和...

    Git-2.28.0-64-bit.exe

    对于初次接触Git的用户,推荐学习基础教程,了解Git的基本工作流程和常用命令。 总之,Git-2.28.0-64-bit.exe 是一个强大的工具,能够帮助开发者有效管理项目版本,提高团队协作效率。下载并安装这个版本,将使用户...

    git常用命令总结-超详细

    本文将深入探讨“git常用命令总结-超详细”,旨在帮助工作1-3年的程序人员更好地掌握Git的基本操作和高级用法。 1. **安装与配置** - 安装Git:在不同操作系统上(Windows、MacOS、Linux)安装Git的步骤各有不同,...

    Git-2.26.0-64-bit.zip

    Git的常用命令包括`git clone`用于克隆远程仓库,`git add`将更改添加到暂存区,`git commit`保存更改到本地仓库,`git push`将本地更改推送到远程仓库,以及`git pull`用来拉取远程仓库的最新更新。此外,`git ...

    git常用命令总结-详细版

    本篇文章将深入探讨Git的常用命令,包括文件的修改、回退、删除,远程仓库操作,分支管理和标签管理。 1. 文件的修改、回退、删除: - `git add &lt;file&gt;`:将对文件的改动添加到暂存区,准备进行提交。 - `git ...

    git 常用命令操作使用大全

    下面我们将深入探讨Git的常用命令及其用途。 ### 1. 初始化仓库 在新项目目录下,使用`git init`命令初始化一个本地Git仓库。这将创建一个隐藏的`.git`目录,存储Git的所有元数据。 ### 2. 添加文件到暂存区 `git ...

    git官网 Git-2.13.0-64-bit 版本

    Git的常用命令包括: 1. `git clone`: 克隆远程仓库到本地。 2. `git add`: 将改动添加到暂存区。 3. `git commit`: 提交暂存区的改动到本地仓库。 4. `git push`: 将本地仓库的改动推送到远程仓库。 5. `git pull`:...

    Git-2.6.3-64-bit

    在日常开发中,Git的常用命令包括: - `git clone`:克隆远程仓库到本地。 - `git add`:将文件添加到暂存区,准备进行提交。 - `git commit`:将暂存区的改动保存为一个新的提交。 - `git push`:将本地的提交推送...

    git(git-2.33.0-intel-universal-mavericks.dmg)

    Git是一款强大的分布式版本控制系统,广泛...对于初学者,理解Git的工作原理和常用命令是至关重要的。通过学习和实践,开发者可以充分利用Git的强大功能,提高工作效率,同时保证项目的版本管理和团队协作顺利进行。

    git常用命令.docx

    以下是一些 Git 的常用命令及其详细解释: 1. **创建 Git 仓库** - `git init`:在当前目录下初始化一个新的 Git 仓库,生成一个隐藏的 `.git` 目录。 2. **目录操作** - `mkdir testgit`:创建一个名为 `...

    常用Git命令清单

    以下是以阮一峰网络日志中的内容为基础,对Git常用命令及其功能的详细解读。 首先,是关于代码库的操作,主要包括新建代码库和克隆已存在的代码库。`git init` 命令用于在当前目录创建一个新的Git代码库,而 `git ...

    git常用操作-一目了然(原创90%+收集整理10%)

    Git 是一个分布式版本控制系统,广泛应用于软件开发领域,用于跟踪和管理代码的变更。本文将详细阐述Git的一些常用操作,包括工作区和状态的理解、...在实践中不断熟悉这些命令,你将能够更自如地应对各种开发场景。

    Git常用命令日常使用

    以上只是Git常用命令的一部分,实际上Git有更多功能,如stash、rebase、cherry-pick等,这些在团队协作和复杂项目管理中非常有用。掌握Git命令的使用,能够有效提升开发效率和协作体验。通过不断实践和学习,你将...

    git命令git命令git命令git命令

    本篇文章将详细解析Git的常用命令,帮助你更好地理解和掌握Git的基本操作。 ### 新建代码库 创建一个新的Git代码库,你可以使用以下命令: 1. 在当前目录初始化Git代码库:`git init` 2. 在指定目录初始化Git代码...

    Git-2.39.0-64-32(版本构建于2022-12-12)

    - **常用命令**:如`git clone`用于克隆仓库,`git add`用于暂存更改,`git commit`用于保存更改,`git push`用于将更改推送到远程仓库,`git pull`用于拉取远程仓库的最新更改。 - **工作流**:Git支持多种工作流...

    git常用命令相关总结

    以下是对Git常用命令的详细总结: 1. **初始化仓库** - `git init`:在本地目录创建一个新的Git仓库。 2. **克隆仓库** - `git clone &lt;url&gt;`:从远程仓库复制所有文件和历史记录到本地。 3. **添加文件** - `...

    Git常用命令面试题 60道

    掌握这些基本Git命令对于任何开发人员来说都是至关重要的,无论是在面试中还是日常工作中。通过不断练习和使用,可以更高效地协作和管理代码。此外,定期复习和实践可以帮助巩固记忆,提高Git操作的熟练度。如果需要...

    Git-cheat-sheet

    Git是世界上最流行的分布式版本..."Git-cheat-sheet"将这些常用命令整理成简洁的参考表,方便快速查阅,是Git初学者和日常开发者的好帮手。在学习过程中,不断实践和理解每个命令的作用,会使你在Git的世界里游刃有余。

    Git-2.30.0-64-bit.rar

    在本文中,我们将深入探讨Git的基础知识、核心概念、安装过程以及常用命令。 1. **Git简介** Git由Linux之父Linus Torvalds于2005年创建,初衷是为了更好地管理Linux内核的源代码。Git的设计理念是速度、数据完整...

    Git常用命令和结构

    Git是分布式版本控制...掌握Git的常用命令和结构是每一个开发者必备的技能,这不仅可以帮助个人有效地管理代码,也能在团队协作中发挥重要作用。通过不断地实践和学习,你可以更加熟练地运用Git来应对各种开发场景。

Global site tag (gtag.js) - Google Analytics