git使用

本文介绍了Git的基本使用方法,包括安装、版本库初始化、文件提交、删除、分支管理等核心操作,并提供了详细的命令示例。

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

Table of Contents

1.git安装

2.git版本库

3.提交文件

4.删除文件

5.分支管理

6.查看状态

7.缓存区

8.版本回退

9.撤销修改

10.标签管理


Git是目前世界上最先进的分布式版本控制系统(没有之一)。
前言:github基础:http://www.runoob.com/w3cnote/git-guide.html
 

1.git安装

#安装:
sudo apt-get install git

#查看:
git && git --help
git --version

#配置:
git config --list

git config --global user.name "runoob"
git config --global user.email test@runoob.com

 

2.git版本库

 

git init    #这个目录变成Git可以管理的仓库
git init <dir>   #选择一个已经有的目录下创建Git仓库

git clone <repo>  #克隆远程仓库到本地

 

3.提交文件

 

git add <file>
git commit -m "<comment>"

git push    #推送到远程仓库

 

4.删除文件

 

rm <file>
git rm <file>
git rm -f <file>   #强制删除
git rm -r <dir>    #递归删除

git commit -m "remove file"

 

5.分支管理

 

git branch          #查看本地分支
git branch -a       #查看远程分支号

git branch <dev>      #创建分支

git checkout <dev>    #切换到分支,用于切换分支或恢复工作树文件

git merge master    #将master合并到当前branch

git commit -m "new branch"   #提交修改

git branch -d <dev>   #删除分支

git log --graph  #查看分支合并图

git merge --no-ff -m "merge with no-ff" dev    #禁用fastforward模式

fastforward:当前分支合并到另一分支时,如果没有分歧解决,就会直接移动文件指针。这个过程叫做fastforward。

举例来说,开发一直在master分支进行,但忽然有一个新的想法,于是新建了一个develop的分支,并在其上进行一系列提交,完成时,回到 master分支,此时,master分支在创建develop分支之后并未产生任何新的commit。此时的合并就叫fast forward。

 

6.查看状态

 

git status         #查看仓库当前状态

# 查看改动的区别:
git diff           #查看未缓存的改动
git diff --cached  #查看已缓存的改动
git diff --stat    #查看改动摘要
git diff HEAD      #查看所有改动

# 查看提交历史:
git log
git log --pretty=oneline   #在一行显示

 

7.缓存区

工作区:就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区。
版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
    stage(index)暂存区,git add将需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
    Git为我们自动创建的第一个分支master
    指向master的一个指针叫HEAD。

git stash    #将未提交修改放入暂存区
git stash list    #查看暂存区
git stash pop stash@{n}    #恢复到工作区

 

8.版本回退

 

具体参考:http://www.runoob.com/git/git-workspace-index-repo.html

版本回退,连同log一起更改,HEAD当前版本,HEAD^上一个版本,HEAD^^上上个版本

#版本回退
git reset --hard HEAD^
git reset --hard <commit id>

git reset HEAD    #用master替换缓存区内容

git checkout -- <file>   #丢弃工作区的修改,会用暂存区文件替换工作区文件
git checkout HEAD <file> #用master替换缓存区和工作区内容

git rm --cached <file>   #从暂存区删除文件

#如果版本回退后想查看新版本, 可通过git reflog找到新的commit点, 然后git reset切回去.

(base) user@conti-del-lp-039:~$ git reflog
aac8f1d HEAD@{0}: reset: moving to HEAD^
f294dce HEAD@{1}: commit: update run_loc_with_json_master.py
aac8f1d HEAD@{2}: commit: update pull_code.sh according to new rdb40 localization repo
638827f HEAD@{3}: checkout: moving from master to LOC
f81f22a HEAD@{4}: clone: from ssh://git@stash.ygomi.com:7999/r_poc/rdb_test_integration_script.git

(base) user@conti-del-lp-039:~$ git reset f294dce

9.撤销修改

#撤销本地文件修改
git checkout --file

#撤销已add文件修改
git reset HEAD file
git checkout --file

#撤销已commit文件修改
git reset --hard HEAD^

#撤销已push文件
rm file
git rm file

10.标签管理

 

git tag   #查看所有tag
git show <tagname>    #查看某个tag

git tag -a <tag_name>  #加tag
git tag -d <tag_name>  #删除tag

git push origin <tagname>    #推送到远程仓库
git push origin --tags    #全部推送

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值