git命令详解

一、简介

git作为应用广泛的一种分布式版本控制系统,其与svn比较最大的差别就是一个是分布式,一个是集中式,git在每个开发者的本地有一个完整的版本库,当在本地处理工作时,无需联网便可修改提交,当需要与其它开发者交互时,只需要提交自己的修改给对方,无需担心集中服务器数据丢失导致所有数据丢失的问题。

git主要分为工作区、暂存区、本地版本库以及远程版本库,我们平时需要做的也就是将修改更新内容从工作区提交至本地版本库或者推送到远程版本库。

二、常用命令

git init (创建目录后初始化当前仓库)

git clone (将远程仓库克隆至本地,克隆的仓库无需init初始化仓库)

git add (将修改从本地工作区添加至暂存区)

git add .(提交所有修改至暂存区,但不包括删除的文件)

git add --all (提交所有修改至暂存区,包括删除的文件)

git add <filename> (提交某一个文件的修改至暂存区)

git commit(将修改从暂存区提交至本地版本库)

git commit -m (-m后加注释,注释此次提交内容)

git commit --amend (提交了得注释内容需要修改时,此参数可以修改提交的注释内容)

git push (将本地版本库推送至远程仓库) 

git pull (拉取远程仓库中内容至本地版本库) 

git reset(回退至某个版本)

git reset --hard <commit-id> (根据commit-id回退至某个特定版本,每次提交都会生成一个commit-id,可通过git log命令查看)

git reset --hard HEAD^(回退至上一个版本)

git reset --hard HEAD^^(回退至上两个版本)

git reset --hard HEAD~100(回退至前100个版本)

git checkout -- filename (回退某个文件的修改,checkout命令一般用来切换分支,后面跟-- filename用来回退某个文件的修改) 

git branch(创建分支,默认有master主分支)

git checkout (切换分支)

git checkout -b (创建并切换至新建的分支下,该命令=git branch + git checkout) 

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

git branch -D (删除分支)

git branch -m oldbranchname newbranchname (修改分支名字)

git merge <branch name> (合并某个分支,譬如合并test分支至master分支,需要先切换至master分支下,然后执行git merge test,将test分支合并至master,不能在将被合并的分支下执行该合并命令)

git stash (保存修改,当有另外的任务需要处理,而正在进行的任务未完成时,可以使用此命令保存修改,会自动创建一个缓存的list集合,方便管理)

git stash list (查看缓存的修改l内容list集合)

git stash pop(将缓存的修改内容释放出来)

git stash apply (将缓存的修改内容释放出来)

git stash apply与git stash pop功能类似,两者的区别是:git stash apply将修改的内容从缓存list中释放出来后,list记录仍然存在,而git stash pop释放缓存内容后,list记录被删除。git stash pop = git stash apply+git stash drop

git log (查看提交修改日志)

git reflog (查看提交修改的日志)

git log与git reflog最大的区别就是能否查看到删除或reset的操作记录,reflog可以看到,而log不行

git diff (查看比较某文件修改内容,不同之处) 

git status (查看当前仓库状态,是否有未提交的修改) 

 git rebase(对最近某一阶段的提交历史进行编辑、删除、复制、粘贴、合并等)

1、当连续多次提交后(git commit提交至本地版本库的操作),譬如提交1、提交2、提交3、提交4,但是你发现其中提交2出现错误需要删除,而又想保留提交3和提交4的内容,这时候就没办法通过reset来回退,这时候就需要用到git rebase;又或者你需要将多次提交合并为一次提交,也需要用到git rebase

git rebase -i HEAD~n (合并前n次的提交记录,并做处理)

上述命令输入后进入编辑界面,参数介绍如下:

pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:丢弃该commit(缩写:d)

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: git checkout命令Git中一个非常常用的命令,它主要用于切换分支或恢复文件。 切换分支是git checkout命令的最常见用法之一。我们可以使用git checkout <branch-name>命令来切换到指定的分支。例如,我要切换到名为“dev”的分支,只需执行git checkout dev命令即可。 除了切换分支,git checkout命令还可以用于创建新分支。通过git checkout -b <branch-name>命令,我们可以同时创建并切换到一个新的分支。例如,我要创建一个名为“feature”的新分支,只需执行git checkout -b feature命令即可。 此外,git checkout命令还可以用于恢复文件。如果我们在工作区对某个文件进行了修改,但后来发现修改有误,可以通过git checkout <file-name>命令来恢复文件到最近一次的提交状态。例如,我要恢复“index.html”文件的修改,只需执行git checkout index.html命令即可。 需要注意的是,当我们使用git checkout命令切换分支或恢复文件时,Git会将当前分支或文件的内容替换为切换到的分支或恢复的文件的内容。因此,在执行这些操作之前,最好先保存一份当前分支或文件的备份。 综上所述,git checkout命令Git中一个非常重要的命令,它可以用于切换分支、创建新分支和恢复文件等操作。熟练掌握git checkout命令的使用方法,对于Git版本控制的使用和工作流程起到关键作用。 ### 回答2: Git checkout命令Git版本控制系统中的一个常用命令,可以用来切换分支、创建分支和恢复文件。下面对Git checkout命令进行详解。 1. 切换分支:使用git checkout命令可以快速在不同分支之间切换。例如,使用命令git checkout branch_name可以切换到指定的分支,将当前工作目录切换到该分支上。 2. 创建分支:可以使用git checkout命令来创建分支。例如,使用命令git checkout -b new_branch_name可以创建一个新的分支,并切换到该分支上。这个命令相当于先使用git branch命令创建新分支,再使用git checkout命令切换到新分支。 3. 恢复文件:Git checkout命令还可以用于恢复文件。如果文件在工作目录中的更改还没有提交到版本库,那么可以使用git checkout命令将文件恢复到最近一次提交的状态。例如,使用命令git checkout -- file_name可以将指定的文件恢复到最近一次提交的状态。 此外,git checkout命令还可以用于切换到特定的提交或标签。例如,使用命令git checkout commit_id可以将工作目录切换到指定的提交,使用命令git checkout tag_name可以将工作目录切换到指定的标签。 需要注意的是,git checkout命令在切换分支或恢复文件时,会将当前工作目录的更改丢弃。因此,在进行操作前应该确保已经保存或提交了当前工作目录的更改。 总之,git checkout命令Git版本控制系统中一个功能强大且常用的命令,可以帮助开发者在不同分支之间切换、创建分支和恢复文件。使用git checkout命令可以轻松管理和控制项目的版本。 ### 回答3: git checkout命令Git版本控制系统中的一个命令,用于切换分支、拉取远程分支、还原文件等操作。 1. 切换分支:使用git checkout命令可以在不同的分支之间进行切换。在命令行中输入git checkout <branch_name>,即可切换到指定的分支。 2. 创建分支并切换:git checkout命令也可以用于创建分支并立即切换到该分支。输入git checkout -b <branch_name>,即可创建一个名为<branch_name>的分支,并立即切换到该分支。 3. 拉取远程分支:使用git checkout命令可以拉取远程仓库的分支并在本地创建对应的分支。输入git checkout -b <branch_name> origin/<branch_name>,即可从远程仓库中拉取<branch_name>分支并在本地创建对应的分支。 4. 还原文件:git checkout命令还可以用于还原文件的修改。输入git checkout <file_name>,即可将<file_name>文件恢复到最近一次提交的版本。 需要注意的是,使用git checkout命令会改变当前工作目录和文件的状态,应谨慎操作。如果有未提交的修改或者当前工作目录有冲突文件,切换分支可能会导致这些修改的丢失或冲突的产生。在切换分支之前,应先提交或保存当前的修改。 总而言之,git checkout命令Git版本控制系统中一个重要的命令,可以实现分支切换、创建与拉取分支以及文件还原等功能。使用该命令时应谨慎操作,确保没有未提交的修改或冲突文件,以免导致数据丢失或冲突。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值