git的用法

GIT安装与配置

GIT文件操作

创建全新仓库

# 在当前目录新建一个Git代码库
$ git init

# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]

克隆远程仓库
由于是将远程服务器上的仓库完全镜像一份至本地,而不是取某一个特定版本,所以用clone而不是checkout,语法格式如下

# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url]

文件操作

文件的四种状态

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
  • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified
#查看指定文件状态
$ git status [filename]
#查看所有文件状态
$ git status
# 添加指定文件到暂存区
$ git add [file1] [file2] ...
# 添加指定目录到暂存区,包括子目录
$ git add [dir]
# 添加当前目录的所有文件到暂存区
$ git add .
#直接从暂存区删除文件,工作区则不做出改变
$ git rm --cached <file>
$ git reset HEAD <file>... #如果已经用add 命令把文件加入stage了,就先需要从stage中撤销
$ git clean [options] #移除所有未跟踪文件 #一般会加上参数-df,-d表示包含目录,-f表示强制清除。
#不但从stage中删除,同时删除物理文件
$ git rm readme.txt 

#把a.txt改名为b.txt
$ git mv a.txt b.txt 
#查看文件修改后的差异
$ git diff [files]
$ git diff --cached #比较暂存区的文件与之前已经提交过的文件
git diff HEAD~n #比较repo与工作空间中的文件差异

#用法一
git checkout [-q] [<commit>] [--] <paths>...
#用法二
git checkout [<branch>]
#用法三
git checkout [-m] [[-b]--orphan] <new_branch>] [<start_point>]
 
 
 
 

GIT分支

基本语句:

# 列出所有本地分支
$ git branch

# 列出所有远程分支
$ git branch -r

# 列出所有本地分支和远程分支
$ git branch -a

# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]

# 新建一个分支,并切换到该分支
$ git checkout -b [branch]
# 切换到指定分支,并更新工作区
$ git checkout [branch-name]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
#其他用法
$ git branch [branch] [commit] # 新建一个分支,指向指定commit
$ git branch --track [branch] [remote-branch] # 新建一个分支,与指定的远程分支建立追踪关系
$ git checkout [branch-name] # 切换到指定分支,并更新工作区
$ git checkout - # 切换到上一个分支
$ git branch --set-upstream [branch] [remote-branch] # 建立追踪关系,在现有分支与指定的远程分支之间
$ git cherry-pick [commit] # 选择一个commit,合并进当前分支

合并分支

git merge [branch]

先创建一个新的分支,进行修改后提交

回到主分支,查看源文件,此时是没有更新的,合并分支后再查看,新做的修改就更新到主分支

有冲突时合并

masters分支对文件filell.txt进行操作后提交

切换到dev6分支,修改文件filell.txt后进行提交

切换到主分支,进行合并分支。提示存在冲突

查看文件filell.txt在分支master中的状态

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>dev6 是指dev6上修改的内容

修改冲突文件后重新提交,请注意当前的状态产master | MERGING:

删除分支

语句:

git branch -d [branch]  # -D(大写)是强制删除

创建一个新的分支dev7

切换到其他分支执行删除语句,不能在当前分支执行删除当前分支

删除远程分支

$ git push origin --delete [branch-name]

$ git branch -dr [remote/branch]

原文地址:https://www.cnblogs.com/steven223-z/p/11739906.html

时间: 2024-08-08 12:44:06

git的用法的相关文章

git基本用法

git基本用法 一.创建新仓库 touch README.md 创建一个新文件 git init       初始化当前文件夹为一个Git仓库 git add README.md 添加该文件到缓存区 git commit -m'update message' 提交更改到本地库 git remote add origin https://github.com/*/*.git 添加远程主机 git push -u origin master 提交更改到服务器 二.克隆仓库并提交更改 git clon

git revert 用法

git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交    * git revert HEAD                  撤销前一次 commit    * git revert HEAD^               撤销前前一次 commit    * git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次

Git 的用法

对于GIT  的用法,最近一直在寻找方法.网上也能找到一些方法.但是感觉说的不是很清楚,在这里我基于自己经验写一些. 对于任何一种方法都要安装GIT. 我是基于VS Code 2015 来做的. 在安装完成后,在资源管理器下,单击右键会有下图所示: 点击"Git GUI Here" 弹出对话框: 根据你的需要来选择不同的选项.我选择的是"Clone Existing Repository",会出现如下所示的图: "Source Location"

Git基本操作用法

Git基本操作用法 1.初始化操作 2.创建新版本库 3.修改和提交 4.撤消操作 5.查看提交历史 1.初始化操作 $ git config -global user.name <name> #设置提交者名字 $ git config -global user.email <email> #设置提交者邮箱 $ git config -global core.editor <editor> #设置默认文本编辑器 $ git config -global merge.to

git cherry-pick用法

场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要把dev-3.0分支上的某些更改移到2.x的版本上, 那么怎么办呢? 该cherry-pick上场了, cherry-pick会重演某些commit, 即把某些commit的更改重新执行一遍. 那么上述问题的解决方案如下: 基于release-2.0分支新建分支release-2.1, 并且到新创建

Git Stash用法

最近在使用Git管理项目工程的时候,遇到了很多问题,也学习到了很多关于Git常见使用的技巧,下面就其中关于Git Stash的用法和大家分享下.首先,简单介绍下Git Stash命令的用法,详细的用法在man文档中有相关介绍,下面我来说明常见的使用.git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致.同时,将当前的工作区内容保存到Git栈中.git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容.由于可能

Git 教程 - Git 基本用法

Git 是当前最流行的版本控制程序之一,文本包含了 Git 的一些基本用法 创建 git 仓库 初始化 git 仓库 mkdir project  # 创建项目目录 cd project  # 进入到项目目录 git init  # 初始化 git 仓库.此命令会在当前目录新建一个 .git 目录,用于存储 git 仓库的相关信息 初始化提交 touch README git add .  # 将当前目录添加到 git 仓库中, 使用 git add -A 则是添加所有改动的文档 git com

git cherry-pick用法解析

在本地 master 分支上做了一个commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到 本地 old_cc 分支上? 办法之一: 使用 cherry-pick.  根据git 文档: Apply the changes introduced by some existing commits 简单用法: git cherry-pick <commit id> 例如: $ git checkout old_cc $ git ch

初探Git git基本用法

Git 是当前最流行的版本控制程序之一,文本包含了 Git 的一些基本用法 创建 git 仓库 初始化 git 仓库 mkdir project # 创建项目目录 cd project # 进入到项目目录 git init # 初始化 git 仓库.此命令会在当前目录新建一个 .git 目录,用于存储 git 仓库的相关信息 初始化提交 touch README git add . # 将当前目录添加到 git 仓库中, 使用 git add -A 则是添加所有改动的文档 git commit