git

Git

主要操作

  1. gitee创建仓库
  2. cd 项目文件夹git init 初始化git
  3. add 所有暂存,commit 所有提交
  4. git remote add origin https://gitee.com/gudongmai/large-data-screen.git 连接远程仓库
  5. git push -u origin "master" 推送

仓库中有的文件你本地删除了,你想把现在的推送给仓库,会产生冲突。要先pull拉取仓库的文件,它会自动比较差异,让你选择保留哪种;然后修改的文件经过add暂存,commit提交,最后再推送到远程仓库

知识点

Git:分布式版本控制系统,方便恢复到之前

全局配置用户信息:

想在特定项目里用别的信息,不加--global就好

git config --global user.name "咕噜便当"
git config --global user.email "736271695@qq.com"
git config --list #查看配置信息

工作流:工作目录——add——暂存区——commit——头指针(HEAD)

  • 工作目录:实际文件
  • 暂存区:保存临时改动
  • 头指针:指向你最近一次提交后的结果
#本地新建仓库(初始默认都未跟踪)
mkdir jxm #新建文件夹
cd jxm #进入文件夹
git init #初始化,在当前目录下会出现一个名为 .git 的目录
#克隆镜像仓库(初始默认都已跟踪)
touch readme.md # 创建文件
git clone git://github.com/schacon/grit.git mygrit #在mygrit目录下会出现一个名为 .git 的目录,格式为 git clone [url] name
git clone /path/to/repository #创建一个本地仓库的克隆版本
git clone username@host:/path/to/repository #克隆远端服务器上的仓库

#创好了以后,跟踪,写代码,然后提交
git status #检查当前文件状态,已提交(committed),已修改(modified),已暂存(staged)
git add *.c  #跟踪,添加到暂存区域;git add -i 交互地添加文件至缓存区
cat .gitignore #创建一个名为 .gitignore 的文件,列出要忽略跟踪的文件模式
git commit -m '第一次提交' #提交改动到本地仓库的head中
git commit --amend #修改最后一次提交
git remote add origin <server> #将本地仓库连接到某个远程服务器
git push origin master #git push将改动提交到远端仓库,默认是origin作为远程仓库,你的当前分支作为要推送的分支。除非你将分支推送到远端仓库,不然该分支就是不为他人所见的

#分支:创建好仓库,分支默认为master
git checkout -b feature_x #创建一个叫做“feature_x”的分支,并切换过去,完成分支后,
git checkout master #切换回主分支
git diff <source_branch> <target_branch> #合并之前,可查看下
git merge <目标branch> #合并分支,切换到父分支,目标分支是子分支,合并最主要是让主支更到最新
git add <filename> #自动合并失败,手动标记为合并成功
git branch -d feature_x #再把新建的分支删掉

#更改提交顺序或复制粘贴
git rebase <目标branch> #将当前分支复制粘贴到目标分支
git rebase -i head~4 #会有个图形界面,可更改提交顺序或删除提交,范围是当前及向上的,总共4个
git cherry-pick C2 C4 #将C2 C4提交复制粘贴到当前分支下

#更改不是最新的提交
先用 git rebase -i 将提交重新排序,然后把我们想要修改的提交记录挪到最前
然后用 git commit --amend 来进行一些小修改
接着再用 git rebase -i 来将他们调回原来的顺序
最后我们把 main 移到修改的最前端(用你自己喜欢的方法),就大功告成啦

#引用
git checkout <提交c0> #分离head指向提交
git checkout master^ #分离head指向分支指向的提交的父节点
git checkout head~4 #分离head向上移动4次
git branch -f main HEAD~3 #让分支main向上移动3次

#更新
git pull #拉取。更新你的本地仓库至最新改动

#标签
git log #获取提交ID
git tag 1.0.0 1b2e1d63ff #创建一个叫做 1.0.0 的标签,1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符,几位无所谓,只要唯一就行

#撤回本地改动(还原)
git checkout -- <filename> #此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到缓存区的改动,以及新文件,都不受影响
#假如你想要丢弃你所有的本地改动与提交,可以到服务器上获取最新的版本并将你本地主分支指向到它
git fetch origin 
git reset --hard origin/master
git reset head~1 #让head向上移一次,改本地
git revert head #撤销更改并分享给别人,改远程

#显示历史记录时,只显示一行注释信息
git config format.pretty oneline

#使用图形化工具查阅提交历史
gitk

参考文献

pro.git中文版

posted @ 2022-04-12 00:20  咕咚麦当  阅读(44)  评论(0)    收藏  举报