学会git bash不求人

本文详细介绍了Git仓库的操作,包括初始化、文件添加与提交、记录查看、版本回退、分支管理、远程分支操作、标签管理、忽略文件配置、仓库搭建等内容,还对比了Git与SVN的区别,如Git是分布式,分支操作更高效。

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

初始化的一个git仓库

git init [path]  注:如果没有path参数,则会选择当前所在目录作为git仓库

 

把文件放到git仓库需要两步

  1:用命令 git add 把文件添加到暂存区

  2:用命令 git commit -m "说明" 把暂存区提交到仓库

查看记录

git log 如果嫌看着比较乱可以使用 git log --pretty=oneline

查看命令记录

git reflog

回退到特定版本

git reset --hard [版本号] 或者 如果直接回到上个版本可以用 git reset --hard HEAD~1

比较工作区与仓库的文件差异

git diff

撤销文件

  git checkout -- [file]命令撤销未放入暂存区的文件修改

  git reset HEAD [file]命令把暂存区的修改退回到工作区,然后使用上述命令撤销文件修改

删除文件

  git rm [file] 然后 git  commit,如果误删想还原可以使用 git checkout -- [file] 

  git checkou 实际上就是用版本库里面的版本替换工作区的版本

分支管理

  创建分支:git branch [branch-name]

  切换分支:git checkout [branch-name]

  创建并切换到新分支:git checkout -b [branch-name]

  列出所有本地分支:git branch

  合并分支到当前分析:git merge [branch-name] 默认使用快速合并,不保存历史,通过 git merge --no-ff -m "说明" [branch-name] 把合并也作为一个提交点,方便查看历史。

  删除分支:git branch -d [branch-name] 如果要强行删除未合并的分支,则使用大写 Dgit branch -D [branch-name]

概念:主分支一般是用来发版本用的,平时做新需求或修改BUG的时候最好创建一个新分支,如果发现某个分支有BUG,最好也是在某个分支上创建一个分支去修改BUG后合并的某分支,如果某分支有未完成的任务,则可以使用命令git brash 把未完成的任务储藏起来,方便创建一个干净的分支去修复BUG,修复BUG完,合并后则可以通过命令把储藏区的内容恢复到工作区,通过命令 git stash list查看储藏的列表,然后使用git stash apply恢复,最后通过git stash drop删除储藏区的指定内容。另一种方式可以使用git stash pop,恢复的同时把储藏的内容删除。

 远程分支

  查看远程库信息:git remote -v

  本地创建的分支,如果不推送到远程,那么其他人是不可见的

  从本地推送分支:git push origin branch-name

  在本地创建和远程分支对应的分支:git checkout -b branch-name origin/branch-name

  建立本地分支与远程分支的关联:git  branch --set-upstream branch-name origin/branch-name

  从远程抓去分支:git pull

标签

  查看所有标签:git tag

  对当前最新提交点创建标签:git tag tag-name,对特定提交点创建标签 git tag tag-name commit-id

  查看标签信息:git show tag-name

  删除标签:git tag -d tag-name

  推送标签到远程:tag push origin tag-name,推送尚未推送的所有本地标签:git push origin --tags

  删除远程标签:先删除本地标签 git tag -d tag-name 然后 git push origin:refs/tags/tag-namegit

 

 Git配置忽略提交的文件

  在工作区创建一个.gitignore的文件,该文件里面配置需要忽略提交的文件,然后把该文件提交到Git就可以了。

 

Git仓库搭建

  服务端Centos安装Git:yum install git

  新增一个git用户:adduser git 

  客户端生成SSH公钥:ssh-keygen -t rsa -C "youremail@example.com"

  把公钥导入到服务端:/home/git/.ssh/authorized_keys 文件里

  初始化一个仓库:git init /repo/git/test.git

  防止其他人直接登录服务器修改工作区把所有者指向git账号:chown -R git:git /repo/git/test.git

  防止git账户登录Shell:编辑 /etc/passwd 把 git:x:1001:1001:,,,:/home/git:/bin/bash 改为 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

  现在可以克隆远程仓库了:git clone git@server:/repo/git/test.git

 

Git与SVN的区别

  1:Git是分布式版本控制器,同一个Git仓库可以分布到不同的机器上,每台机器没有主次之分,SVN则只有一台主服务器

  2:Git分支管理,SVN创建,切换等操作分支比蜗牛还慢,以至于分支功能成了摆设,Git创建,切换,删除等操作分支都在1秒内完成,无论你的版本库有多少个文件

 

 

 

 

转载于:https://www.cnblogs.com/net666/p/10895701.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值