Git 常用命令

现在常用的代码提交都用SVN和GIT,Git相对于SVN来说有更多的优势。SVN本质上是建立了不同的文件夹保存不同分支的代码,在做代码合并和review的时候有一些痛。

常用的Git管理库,包括github、 gerrit 、gitlab等。本质上都是使用git命令进行管理。

  1. git clone

    a) git clone https://github.com/Alen-Liu/hello-world.git

    项目代码下载可以使用最简单的git clone 实现, 默认切换到master分支。

    b) 如果希望下载其他的分支的代码,可以直接使用 git clone -b master https://github.com/Alen-Liu/hello-world.git

    c) 当然如果下载之后想要切换分支,可以使用git checkout feature 来操作

    下载下来之后,可以查看项目文件夹下的 .git/config 文件,如图:

  2. Git config

    git 默认是用的当前电脑登录的用户名,作为一个好的coder,最好使用自己的公司邮箱或者专用的签名,这样提交的代码都会有自己的tag

    a) git config --global user.name "Alen" 可以用来设置用户名

    b) git config --global user.email "alen@xxx.com" 可以用来设置邮箱

     

    可以查看config里面的配置, url = https://xxxx 这样你每次提交都需要输入代码管理网站的用户名和密码。但是你可以修改配置,避免这种麻烦。

    c) 修改url = username:password@https:/xxxx 这样的方式可以保存。

    d) 一般使用https方式会比较麻烦。代码管理网站都可以配置ssh的方式进行用户认证。

    使用 ssh-keygen 生成ssh密钥,生成之后,把公钥填写到管理网站的对应的位置就可以了。

    使用git clone git@github.com:Alen-Liu/hello-world.git 拉下代码。

  3. Git branch

    git status 当前分支的状态

    git log 提交记录

    git branch -a 查看所有分支

    git branch –r 查看远程分支

    git branch new_name 新建一个分支

    git checkout –b new_name 创建并且切换到一个新的分支

    git checkout xxx_branch 切换到某个分支

    git push origin develop 提交代码到远程分支,如果没有创建这个远程分支

    git push origin –delete develop 删除远程分支

  4. git pull

    a) git pull 拉取远程分支代码并且整合。 这个命令很不安全,当本地存在修改的时候,可能会出现不可知的错误。

    b) git fetch --all 拉取所有远程代码到本地,但是不影响本地的代码。

    c) git reset --hard origin/feature 同步 远程feature 到当前分支,(强制同步,会删除本地修改)

  5. git commit

    a) git add 添加修改到本次待提交区

    b) git commit 编辑当前已在待提交区的代码,生成一次提交信息

    c) git commit -m “提交信息” 快速生成提交并填写提交信息

    d) git commit --amend 把当前待提交区,提交到上次的commit中

    e) git push origin develop 把当前没有推送到远程分支的commit,推送到远程分支。

  6. git merge

    a) git format-patch -n 把当前最近的n个commit,生成一个patch文件。

    b) git am 0001.patch 把0001.patch的修改 打入到当前代码中,并且延用这个patch的提交信息

    c) git apply 0001.patch 把.patch文件中的修改打入到当前代码,但是不自动生成commit

    d) git apply 0001.patch --reject 把.patch文件中的修改打入到当前代码,不自动生成commit, 如果有冲突 生成.rej 冲突文件

  7. others

    a) git blame xxxxxxx.java 查看某个文件的提交人

    b) git show xxxx(commit id) 查看某次提交的提交内容

    c) git diff xxxx.java 查看当前文件修改

<think>我们被要求生成一个关于Git常用命令的汇总列表。根据用户的要求,我们需要提供结构清晰的回答,并尽量保证真实可靠。同时,我们参考了站内引用中提供的Git命令信息。根据引用内容,我们可以整理出以下常用命令:1.基本操作(初始化、添加、提交等)2.分支管理3.远程仓库操作4.标签管理5.历史查看与撤销6.其他实用命令(如删除大文件、清理仓库等)我们将按照这些类别来组织命令。注意:由于引用中提供了一些特定问题的解决方案(如删除大文件),我们也会将其作为实用命令的一部分。另外,注意用户要求使用中文回答,并且行内数学表达式使用$...$格式(但本问题不涉及数学表达式,所以忽略),独立公式使用$$...$$格式(同样不涉及)。同时,在回答末尾生成相关问题。我们开始整理Git常用命令汇总:</think>### Git常用命令汇总 以下是Git常用命令分类整理,帮助您高效管理代码版本: #### 1. 仓库初始化与基础操作 ```bash # 初始化新仓库 $ git init # 克隆远程仓库 $ git clone <远程仓库URL> # 查看当前状态 $ git status # 添加文件到暂存区 $ git add <文件名> # 添加单个文件 $ git add . # 添加所有修改 # 提交更改 $ git commit -m "提交说明" ``` #### 2. 分支管理 ```bash # 创建分支 $ git branch <新分支名> # 切换分支 $ git checkout <分支名> $ git switch <分支名> # Git 2.23+推荐方式 # 创建并切换分支 $ git checkout -b <新分支名> $ git switch -c <新分支名> # 合并分支 $ git merge <要合并的分支名> # 删除分支 $ git branch -d <分支名> # 安全删除 $ git branch -D <分支名> # 强制删除未合并分支 ``` #### 3. 远程仓库操作 ```bash # 添加远程仓库 $ git remote add origin <远程仓库URL> # 查看远程仓库 $ git remote -v # 推送到远程仓库 $ git push -u origin <分支名> # 首次推送 $ git push # 后续推送 # 拉取远程更新 $ git pull origin <分支名> $ git pull --rebase origin <分支名> # 变基式拉取 # 删除远程连接 $ git remote rm origin ``` #### 4. 版本回退与撤销 ```bash # 查看提交历史 $ git log $ git log --oneline # 简洁版日志 # 撤销工作区修改 $ git checkout -- <文件名> # 撤销暂存区文件 $ git reset HEAD <文件名> # 版本回退 $ git reset --hard <commit_id> # 彻底回退 $ git reset --soft <commit_id> # 保留修改 # 恢复删除的文件 $ git restore <文件名> # Git 2.23+ ``` #### 5. 标签管理 ```bash # 查看标签 $ git tag # 创建标签 $ git tag <标签名> # 轻量标签 $ git tag -a v1.0 -m "版本说明" # 附注标签 # 推送标签 $ git push origin <标签名> # 删除标签 $ git tag -d <标签名> # 本地删除 $ git push origin :refs/tags/<标签名> # 远程删除 ``` #### 6. 高级维护 ```bash # 清理历史大文件 $ git filter-branch --force --index-filter \ 'git rm -rf --cached --ignore-unmatch <文件名>' \ --prune-empty --tag-name-filter cat -- --all # 回收存储空间 $ git reflog expire --expire=now --all $ git gc --prune=now # 查看仓库大小 $ git count-objects -vH ``` #### 7. 配置相关 ```bash # 设置用户名/邮箱 $ git config --global user.name "用户名" $ git config --global user.email "邮箱" # 查看配置 $ git config --list # 设置默认编辑器 $ git config --global core.editor vim ``` > **最佳实践提示**: > 1. 频繁提交小变更,保持提交记录清晰 > 2. 使用`.gitignore`文件排除无需版本控制的文件 > 3. 重要分支(如main/prod)设置保护规则 > 4. 推送前先执行`git pull --rebase`避免合并提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值