git命令基本用法记录

git命令基本用法记录最近使用git命令提交代码的时候发现很多命令都忘记了,于是重新学习了一下git命令。顺便整理了一下,加强记忆,也方便以后随时查看。以下命令都是平常工作中使用频率较高的命令,也是git的一些基本用法,其中[]内的参数表示可以省略,<>内的参数只是示例,具体名称视自己的项目而定,实际命令中不带<>,表示远程主机名,等表示分支名。1.git配置    获取本机sshkey:ssh-keygen-t-C“yourEmail@exampl

大家好,又见面了,我是你们的朋友全栈君。

最近使用git命令提交代码的时候发现很多命令都忘记了,于是重新学习了一下git命令。顺便整理了一下,加强记忆,也方便以后随时查看。

以下命令都是平常工作中使用频率较高的命令,也是git的一些基本用法,其中[]内的参数表示可以省略,<>内的参数只是示例,具体名称视自己的项目而定,实际命令中不带<>,表示远程主机名,等表示分支名。

1.git配置
    获取本机ssh key:

ssh-keygen -t -C “yourEmail@example.com

配置全局name和email:

git config –global user.name “”
        git config –global user.email “yourEmail@example.com

2.clone项目到本地
    git clone http://yourGitAddress.git

3.查看工作区状态  git status

4.git add
    将某个文件或文件夹添加到暂存区:
        git add <file_name.txt>/

将当前目录所有修改添加到暂存区(不包括忽略文件):
        git add .

内的所有已跟踪文件的修改添加到暂存区(省略path表示当前目录):

        git add -u [ ]

内的所有已跟踪文件的修改和未跟踪文件添加到暂存区(省略path表示当前目录):

        git add -A [ ]

查看 中已修改但未提交的文件,并通过子命令进行控制(省略path表示当前目录):

        git add -i [ ]

5.git commit
    提交所有改动并编写日志:
        git commit -m “<改动日志说明>”

6.git pull
    下拉指定主机的指定分支,并与本地的指定分支合并:
        git pull <远程master>:<本地master>

下拉指定主机的指定分支,并与本地的当前分支合并:
        git pull

7.git push
    推送本地指定分支到指定远程主机的指定分支上:
        git push <本地master>:<远程master>

推送本地指定分支到远程同名分支上,如果远程没有同名分支,则会新建同名分支:
        git push <本地master>

推送空的分支到远程指定分支,相当于删除远程分支:
        git push :<远程master>

推送当前分支到指定主机的指定分支:
        git push HEAD:<远程master>

推送当前分支到指定主机的同名分支:
        git push HEAD

推送本地分支到远程同名分支上,并建立追踪关系(建立追踪关系后可直接使用git push推送):
        git push -u

推送本地所有分支到指定主机上:
        git push –all

8.git branch
    查看分支列表:
        git branch [–list]

查看本地和远程所有分支:
        git branch -a

新建分支:
        git branch

删除远程分支:
        git push –delete

删除分支(当前分支不能在被删除的分支上):
        git branch -D

9.git merge
    合并某个分支到当前分支下,并自动进行新的提交:
        git merge

合并某个分支到当前分支下,不进行新的提交:
        git merge –no-commit

合并master分支和next分支到当前分支顶部:
        git merge

10.git checkout
    切换到分支的head版本:
        git checkout

取出当前分支的tag_name版本:
        git checkout <tag_name>

放弃指定分支对file_name的修改:
        git checkout <file_name.txt>

在当前分支上创建新分支并将工作区设置为该分支上:
        git checkout -b

11.git reset
    回退文件,将文件从暂存区回退到工作区:
        git reset [HEAD] <file_name.txt>

向前回退多个版本:
        git reset HEAD~n

回退到指定某个版本:
        git reset <commit_id>

将版本库软回退n个版本,所谓软回退表示将本地版本库的头指针全部重置到指定版本,且将这次提交之后的所有变更都移动到暂存区:
        git reset –soft HEAD~n

将版本库回退n个版本,将本地版本库的头指针全部重置到指定版本,且会重置暂存区,即这次提交之后的所有变更都移动到未暂存阶段:
        git reset [–mixed] HEAD~n

将版本库回退n个版本,但是不仅仅是将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码也回退到这个版本:
        git reset –hard HEAD~n

12.git rm
    删除git仓库管理系统以及本地中的某个文件:
        git rm <file_name.txt>

删除git仓库管理系统以及本地中的某个文件夹:
        git rm -r

删除git仓库管理系统中的文件,但是保留本地文件:
        git rm –cached <file_name.txt>

13.git mv
    移动某个文件到指定文件夹下:
        git mv

重命名某个文件:
        git mv <file_name> <new_file_name>

14.git rebase
    把当前分支衍合到指定分支上:
        git rebase

如果有冲突需要先解决冲突,解决完冲突之后执行:
        git rebase –continue

放弃本次衍合操作:
        git rebase –abort

直接使用master分支取代此分支
        git rebase –skip

资料都是自己在网上面收集整理,再加上了自己的一些理解,如果有错误,还望能提出,我好及时改正。如果还有什么问题也可以与我讨论,大家共同学习,一起进步。
————————————————
版权声明:本文为CSDN博主「kolechez」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a_kevin/article/details/80994783

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148075.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL数据库优化(五)——MySQL查询优化

    MySQL数据库优化(五)——MySQL查询优化

    2021年10月15日
    36
  • 内存泄漏与内存溢出的区别

    内存泄漏与内存溢出的区别

    2021年10月21日
    68
  • pycharm输入了激活码提升key is invaild_在线激活

    (pycharm输入了激活码提升key is invaild)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlEC87GSLRKZ-eyJsaWNlbnNlSWQi…

    2022年3月28日
    71
  • sql server 2008修改端口_sqlserver 端口

    sql server 2008修改端口_sqlserver 端口打开开始菜单,找到sqlserver的配置管理器,点击打开按下图配置右边窗口三项:按下图配置右边三项:按下图配置右边三项:点击下图左边的SQLServer网络配置/MSSQLSERVER的协议,然后在双击右边窗口的TCP/IP项,打开tcp/ip配置窗口。切换到ip地址选项卡,凡是tcp端口的,均把原来的默认端口1433改为1772。然后保存。在这个过程中,有几项的修改会有这样的提示:点击确定…

    2022年10月20日
    5
  • 软件测试基础知识 + 面试理论(超详细)「建议收藏」

    软件测试基础知识 + 面试理论(超详细)「建议收藏」文章目录一、什么是软件?二、什么是软件测试?三、软件测试工程师的工作内容四、常见的软件生命周期模型五、软件开发的几个阶段六、软件bug的五个要素七、软件测试的分类八、什么是测试用例九、测试用例几大要素【面试理论知识】1、你的测试职业发展是什么?2、你认为测试人员需要具备哪些素质3、你为什么能够做测试这一行4、测试的目的是什么?5、测试分为哪几个阶段?6、单元测试的测试对象、目的、测试依据、测试方法?7、怎样看待加班问题8、结合你以前的学习和工作经验,你认为如何做好测试。9、你为什么选择软件测试行业10、根据

    2022年6月29日
    23
  • 编译原理文法详解_编译原理为什么存在递归文法

    编译原理文法详解_编译原理为什么存在递归文法引言学完了词法分析,我们知道词法分析器将正则表达式转换成词法单元流,但对于这个记号流我们不知道是否能由正确的文法产生,因此我们需要通过语法分析器来检测其合法性。语法分析器的输出是一棵语法分析树(无论显性还是隐性),并且进行一些语法纠错处理。语法分析的整个过程大概就是我们先定义一个语法,再用相应的算法来检测我们的词法单元流是否符合该语法。这里主要讨论上下文无关文法构成的语法和自顶向下、自底向上的语…

    2025年7月9日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号