git 常用指令 (先收藏再说)

Git

Git是一种分布式版本控制系统,用于记录一个或若干个文件内容的变化,以便查阅和回溯。
它的工作原理可以概括为以下几点:

  1. 工作区(Workspace):这是你在电脑上看到的目录,工作区是你用来修改文件的目录。在工作区中我们对文件进行增删改。

  2. 暂存区(Index/Stage):暂存区是位于Git仓库中的一个文件,用于暂时存放提交的更改。我们通过git add命令将修改的文件放入暂存区。

  3. 仓库区(Repository):如果你对暂存区的文件感到满意,可以提交这些修改到仓库区,这样你就成功地创建了一个新的版本。本地仓库是Git用来保存完整项目的整个历史记录的地方。它保存了项目的全部提交历史和版本信息。

  4. 远程仓库(Remote):你可以把本地仓库的内容推送到远程仓库,也可以从远程仓库拉取数据到本地。

Git的工作流程如下:

  1. git clone: 用于将远程仓库的代码克隆到本地。
git clone https://github.com/username/repo.git
  1. 修改文件:在工作区中对文件进行修改、添加或删除操作。

  2. git add:将修改的文件添加到暂存区,表示要提交这些更改。

git add .  //将当前目录下的所有修改过的文件添加到暂存区(包括新建、删除和修改)。
git add file.txt //提交指定文件
  1. git commit: 用于将暂存区的文件提交到本地仓库,生成一个新的版本。
git commit -m "Commit message" //提交更改并添加相应的提交信息
  1. git push: 用于将本地仓库的代码中的新版本推送到远程仓库。
git push origin master
  1. git pull: 用于从远程仓库拉取最新的代码到本地并合并
git pull origin master
  1. git branch: 创建、切换、合并和删除分支,实现并行开发和版本控制。
git branch  //查看当前分支
git branch dev  //创建分支
git branch -d dev //删除一个分支
git branch -r //用于列出远程的所有分支。
  1. git checkout: 用于切换分支或恢复文件
git checkout dev //切换到dev分支
git checkout -b dev //创建新分支并切换分支
git checkout file.txt //将工作区的指定文件的内容恢复到暂存区的状态
  1. git merge: 将不同分支中的代码合并到一起,解决冲突并生成新的提交,首先确保你已经切换到目标分支上,比如主分支或者其他想要接收更改的分支,运行 git merge dev合并dev分支到目标分支。Git会自动尝试合并两个分支的修改内容,但有时候会发生冲突,若发现了冲突,打开相关文件查看具体冲突部分,根据需求编辑文件,选择保留哪些变化或者对冲突进行调整。删除特定符号及其周围的注释,然后保存文件。最后提交合并结果,可以使用 git commit -m "合并" 命令来提交。
git merge dev
  1. git status: 用于查看工作区、暂存区的状态。

  2. git log:查看项目的提交历史,包括作者、时间和提交说明。

git log --graph 以图形化的方式展示提交历史和分支合并情况。
  1. git reset:撤销提交、回退版本,并恢复文件到之前的状态。
git log //首先查看提交记录并获取要回退的目标版本的commit ID(或者只需要最后几位字符)。
git reset <commit_id> //将HEAD指向目标版本,同时保留工作区文件不变。这样会删除所有新的提交记录,但保留修改内容。
git reset --hard <commit_id> //若想完全移除目标版本及其之后的提交记录,可以添加 --hard 参数,注意,此操作会永久性地删除该版本及其之后的更改,谨慎使用。
  1. git diff: 用于查看文件或分支之间的差异。
git diff file.txt
git diff branch1 branch2
  1. git stash : 用于保存当前的修改,并将工作区还原到上一个提交的状态。
git stash
git stash apply
  1. git remote: 用于管理远程仓库。
git remote -v
git remote add origin https://github.com/username/repo.git
git remote show // 用于查看远程仓库的详细信息。
  1. git fetch: 用于从远程仓库下载最新的代码,但不合并到当前分支。
git fetch origin

其他常用指令

git init 初始化本地git仓库(创建新仓库)。

git clone 用于克隆远程的项目到本地。

git rm : 用于将文件从工作区和暂存区中删除。

git rm file.txt
git rm -r foldername //递归地删除指定文件夹及其所有内容,包括文件和文件夹

git config --global user.name "xxx" :配置用户名

git config --global user.email "xxx@xxx.com" :配置邮件

git show dfb55efr4f2f7b573327763e5c0013802e392812 :显示某个提交的详细内容,可以只用commitid的前几位,例如 git show dfb55

git show HEAD //显示HEAD提交日志。
git show HEAD^ //显示HEAD的父(上一个版本)的提交日志,`^^`为上两个版本,`^5`为上5个版本。

git tag :显示已存在的tag。

git tag -a v2.0 -m 'xxx' :增加v2.0的tag。

git rebase : 用于将一个分支的提交合并到另一个分支上。

git rebase branch_name
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值