ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Git基本操作-命令行

2026/8/7 11:18:04 拓冰建站 浏览量
Git基本操作-命令行 #获取git版本git--version#在本地文件夹下初始化一个新的git仓库创建成功后ls -al可以看到.git的隐藏仓库gitinit#1.暂存操作工作区-暂存区#暂存指定文件 git add 文件名gitadd123.txt#暂存所有改动的文件gitadd.#查看暂存区文件列表gitls-files#查看暂存区和工作区状态gitstatus#清空暂存区(工作区不变gitreset#2.提交操作暂存区-本地仓库#暂存足够多之后可以提交提交时必须写描述gitcommit-m提交描述#查看提交日志回滚会消失gitlog#查看提交日志优化版gitlog--prettyoneline--all--graph--abbrev-commit#commit回滚gitreset--hard提交的id用git log查询id#git log加强版可以查看所有提交日志回滚也不会消失gitreflog#暂存区覆盖工作区的内容工作区修改的内容不想要想恢复之前暂存的内容gitrestore#首次获取代码gitclone 仓库地址#后续拉取代码gitpull 仓库地址#从远程库抓取到本地仓库但不进行合并操作gitfetch#合并gitmerge分支操作#查看当前所在分支gitbranch#创建新的分支 git branch 新分支名 但仍停留在当前分支gitbranch dev#安全删除分支删除分支前需要进行各种检查 git branch -d 分支名#不能删除当前所在的分支得先切换到其他分支再执行删除gitbranch-ddev#强制删除分支 git branch -D 分支名gitbranch-Ddev#切换分支 git checkout 分支名gitcheckout dev01#新建并切换分支例如新建dev01并切换到dev01分支gitcheckout-bdev01#合并分支,比如当前在master分支想将dev01分支合并入master分支执行gitmerge dev01解决冲突提示需要解决冲突后修改冲突代码然后重新提交一次gitadd.#不需要写commentgitcommit#进入vim:wq保存远程仓库推送代码#在本地仓库配置添加一个远程仓库origin默认远程仓库就是这个名字#一个本地仓库可以对应多个远程仓库gitremoteaddorigin 远程仓库的地址gitremoteaddorigin git10.12.3.163:my_group1/my_project1.git#如果执行没有报错代表配置成功#查看远程仓库gitremote#推送代码到远程仓库 git push 远程名称 本地分支名远程分支名gitpush origin master:master#简化版本gitpush origin master#强制用本地的覆盖远程的加-fgitpush-forigin master# --set-upstream 推送到远端的同时建立起与远端分支的关联联系#第一次push带绑定关系后以后只需要git push就行gitpush --set-upstream origin master:master#查看绑定关系gitbranch-vv下载代码git clone#从远程仓库第一次拉取代码#可以在后面跟一个目录名会保存在该目录如果不加默认就是项目名称创建文件夹如my_project1gitclone git10.12.3.163:my_group1/my_project1.git#结束后会在当前目录生成my_project1的文件夹后续继续拉取最新代码直接执行git pull不用带参数拉取合并到本地gitpullgit fetch git merge方法#抓取到本地但不会合并gitfetch#再手动合并origin/master到本地gitmerge origin/master合并到本地的时候也会产生冲突解决冲突的方式与之前相同1.安装git2.设置安装过后首要任务就是设置用户名和邮箱#git config --global user.name 你的用户名gitconfig--globaluser.nametom#git config --global user.email 你的邮箱gitconfig--globaluser.emailhelloexample.com#设置完后检查是否设置成功gitconfig--globaluser.namegitconfig--globaluser.email3.为常用指令配置别名#新建配置文件touch.bashrc#编辑配置文件vim.bashrcaliasgit-loggit log --prettyoneline --all --graph --abbrev-commitaliasllls -al#使配置生效source.bashrc4.新建忽略配置在目录下创建.gitignore文件在文件中定义不需要上传的touch.gitignore#定义规则vim.gitignore#规则#1.可以直接写文件名文件会被自动忽略不会commit123.txt#2.也可以写通配符如所有以.doc结尾的文档*.doc5.设置SSH登录可选#在本机生成密钥对ssh-keygen-trsa#不断回车如果公钥已存在会自动覆盖#获取公钥cat~/.ssh/id_rsa.pub#密钥备份mv~/.ssh ~/.ssh.bak一、 如果之前使用的是ssh方式推送代码但是现在想采用http方式怎么办#从gitlab获得到的链接ssh://git10.12.3.161:7779/my_group1/my_project2.git http://10.12.3.161:7777/my_group1/my_project2.git#先查看当前是什么链接gitremote-v#返回origin ssh://git10.12.3.161:7779/my_group1/my_project2.git(fetch)origin ssh://git10.12.3.161:7779/my_group1/my_project2.git(push)#修改链接gitremote set-url origin http://10.12.3.161:7777/my_group1/my_project2.git#检查gitremote-v#返回origin http://10.12.3.161:7777/my_group1/my_project2.git(fetch)origin http://10.12.3.161:7777/my_group1/my_project2.git(push)gitpush origin master