关于git的一些常用命令

本文介绍了Git的基本使用方法,包括初始化仓库、添加文件、提交更改等常见操作,还讲解了如何创建和管理分支,以及如何与远程仓库进行同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git安装后基本信息配置

  1. 设置用户名:git config --global user.name "xxxx"

  2. 设置用户名邮箱:git config --global user.email "xxxx"

  3. 查看设置信息:git config --list
    这里写图片描述
    注:1.直接输入 git config --global user.namegit config --global user.email 后回车也可以查看name和email的信息;
      2.git config --global:表示这台机器上所有的git仓库都会使用这个配置,当然,也可以对某个仓库指定的不同的用户名和邮箱。

常用命令

以新建项目shopping为例:

1. git init

  • git init:进入到shopping项目的目录下,创建本地仓库
    这里写图片描述
    创建完成后会在根目录下生产一个隐藏的.git文件夹,用来记录所有本地的git操作
    这里写图片描述

2. git add

  • git add:把想要提交的代码先添加到暂存区中
    在src目录的com.example.shopping包下有两个类:Food.java 和 Book.java
    这里写图片描述
    • 如果想添加 Food.java 这单个文件,则输入命令:
      这里写图片描述
    • 如果要添加某个目录 buy ,则输入命令:
      这里写图片描述
    • 一个一个的添加当然很麻烦,在 add 后面加一个小点儿,就能添加所有的文件了:
      这里写图片描述

3. git commit -m "输入提交信息"

  • git commit -m "输入提交信息":将 add 后的文件提交到仓库中去
  • -m 参数用来加上提交的描述信息,没有描述信息的提交是不合规则的。
    这里写图片描述

4.git status

  • git status:查看自上一次提交后文件的修改情况
    这里写图片描述
    可以看到 Food.java 已经发生了改变

5. git diff

  • git diff:查看所有文件的变更内容
    这里写图片描述
  • 可以在git diff后面加想要查看的改变文件的内容,例如,只想看前面改变的 Food.java 的内容,可以用命令:git diff src/com/example/shopping/Food.java
    这里写图片描述
    其中,减号表示删除的部分,加号表示新添加的部分,可以看出,删除了j变量,增加了k变量和一条print输出语句。

6. git checkout

  • git checkout src/com/example/shopping/Food.java:撤销修改
    这里写图片描述
  • 只要代码还未提交,所有修改的内容都是可以撤销的。执行了上述命令后,Food.java 文件的一切修改都会被撤销到上一次提交后的状态。之后再用status命令查看,可以看到当前项目中已经没有任何可提交的状态了。但是,git checkout 只适用于还没有执行过 add 命令的文件,如果某个文件已经被添加过了,就不能再撤销其更改的内容。
    这里写图片描述

7. git reset

  • git reset:取消已被添加(add)的文件
    这里写图片描述
  • 可以发现对 Food.java 执行 reset 命令,然后用 status 命令查看,Food.java 重新变回了未添加状态。因此,如果要撤销已添加的文件,可以先使用 reset 命令,再进行 checkout 命令。
  • git reset --hard commitedId :回滚,回到历史提交记录中的某个版本,commitedId 是提交版本的id号

8. git log

  • git log:查看历史提交信息
    这里写图片描述
  • 若只想查看其中一条记录,可以在 git log 命令后面指定某条记录的id,并加上 -1,表示只想看到一行记录,例如只查看第三条记录:git log f4fa045aa34164aa09ecc2d8f976cad8721b3215 -1
  • 若想查看这条记录具体修改了什么内容,可以再在命令后面加上 -p 参数:git log f4fa045aa34164aa09ecc2d8f976cad8721b3215 -1 -p

9. git branch

  • git branch:查看当前的版本库中有哪些分支
    这里写图片描述
  • 因为shopping项目还没有创建过任何分支,所有当前只有一个 master 分支,也就是项目存放到仓库中必有的一条主分支。

10. git branch dev

  • git branch dev:创建分支
  • 在branch命令后面写上要创建分支的名字,可以创建一个新的分支,例如,下面创建一个名为 dev 的分支,再用 branch 命令查看所有分支情况:
    这里写图片描述
    其中,master 分支前面的 * 表示当前我们的代码是停留在 master 分支上的,也即是,当前我们是在 master 分支上开发项目的

11. git checkout dev

  • git checkout dev:切换分支到刚刚新建的 dev 分支上
    这里写图片描述
  • 可以看到,已经把代码切换到 dev 分支上去了。其中,在 dev 分支上修改并提交的代码不会影响到 master 分支,同样,在 master 分支上修改并提交的代码也不会影响到 dev 分支。
  • 因此,如果在 dev 分支上修复了原来 master 上的一个bug,在 master 分支上这个bug依然是存在的,这时,将修改的代码一行行复制到 master 分支并不太好,此时,可以用 merge 命令来完成合并操作。

12. git merge dev

  • git merge dev:合并代码
  • git checkout master
    git merge dev
    使用这两行命令,就可以将 dev 分支上修改并提交的内容合并到 master 分支上了。最后,当不再需要 dev 分支时,就可以将 dev 分支删除掉了。

13. git branch -d dev

  • git branch -d dev:删除 dev 分支
    这里写图片描述

14. git clone [远程库地址]

15. git push origin master

  • git push origin master:将本地修改的内容同步到远程库上去
  • 其中,origin 指定的是远程库的 git 地址,master 部分指定的是同步到哪一个分支上,这句命令就表示:将本地代码同步到 https://gitee.com/zoucaoxin/spring.git 这个地址所在库的 master 分支上去。如果要将修改的代码提交到另一个 dev2 分支上去,则可输入命令:git push origin dev2

16. git fetch origin master

  • git fetch origin master:将远程库上的修改内容同步到本地
  • 执行 fecth 命令后,会将远程库上的代码同步到本地,但同步下来的代码并不会合并到任何分支上去,而是会存放到 origin/master 分支上,这时,可以再调用 git merge origin/master 命令将 origin/master 分支上的修改合并到主分支上去。

17. git pull origin master

  • git pull origin master:从远程库上拉取最新代码并合并到本地
  • 这句命令相当于将 fetch 和 merge 命令合在一起执行。

18. git branch -r

  • git branch -r:查看远程分支

19.git branch -m [原来的分支名] [想修改的分支名]

  • git branch -m [old_branch_name] [new_branch_name] :修改本地分支名

20. git branch -r -d [远程分支名]

  • git branch -r -d [origin/branch-name]:删除远程分支
  • 如果要修改远程分支的名字,可以先修改本地分支名,再删除远程分支,最后推送本地分支。

本地创建库并提交到远程库上

 本地创建库并提交到远程库上步骤: 

  1. git init:创建本地仓库;
  2. git remote add origin [远程库地址]:将本地库与远程库想关联;(eg:git remote add origin           https://git.oschina.net/zoucaoxin/myapplication.git
  3. git pull origin master:合并代码;
  4. git add .:将文件添加到仓库中去;
  5. git commit -m "提交信息":将文件从暂存区提交到仓库;
  6. git push -u origin master:第一次提交到远程库时要加 -u ,以后再往远程库提交时,直接使用命令:git push origin master 即可。

    一些问题:
    1
    这里写图片描述
    多半是远程库中的README.md文件没有添加到本地库中,通过命令 git pull –rebase origin master 合并到远程库中的README.md文件;
    2.
    这里写图片描述
    Windows中的换行符为CRLF,而在Linux下的换行符为LF,所以在执行 add . 时出现如上提示,通过命令 git config –global core autocrlf false (禁用自动转换)可解决;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值