Git基础
1.文件与历史
// 创建仓库 git init // 添加文件 git add readme.txt // 提交文件 git commit -m "add readme file" // 查看状态 git status // 回退到上一个版本,^^上上个版本,或者HEAD~100,上100个版本 git reset --hard HEAD^ // commit ID,可以指定恢复文件到某个版本 git reset --hard 1094a // 提交历史 git log // 命令历史 git reflog // 提交历史图 git log --graph --pretty=oneline --abbrev-commit
2.撤销修改
// 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时 git checkout -- file // 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改, // 分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作 git reset HEAD <file> // 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,不过前提是没有推送到远程库 git reset --hard HEAD^
3.删除文件
// 删除仓库中的文件 git rm file // 删错了,因为版本库里还有呢,用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原” git checkout -- file
4.远程仓库
// 关联远端仓库 git remote add origin git@github.com:torvalds/linux.git // 第一次推送master分支的所有内容 git push -u origin master // 推送最新修改 git push origin master // SSH协议克隆一个本地库 git clone git@github.com:torvalds/linux.git // https协议方式克隆一个本地库 git clone https://github.com/torvalds/linux.git
5.创建与合并分支
// 查看分支 git branch // 创建分支 git branch <name> // 切换分支 git checkout <name> // 创建+切换分支 git checkout -b <name> // 切换分支 git switch <name> // 创建+切换分支 git switch -c <name> // 合并某分支到当前分支 git merge <name> // 删除分支 git branch -d <name> // 查看分支合并图 git log --graph
6.Github示例
0, ssh-keygen -t ed25519 -C "your_emain@example.com" 1, cat ./ssh/id_xxxxx.pub, 复制出现的内容; 2, https://github.com/settings/keys --> New SSH key --> add key(步骤1内容粘贴保存). 3, git config --global user.name "your_name" git config --global user.email your_email@example.com 4, github网页上创建仓库; 5, git clone git@github.com:XXXXXXXXXX.git 6, 写一个README.md 7, git add README.md 8, git commit -m "add readme." 9, git branch -M main 10, git push -u origin main
7.提交给他人仓库代码
1 git checkout -b user/torvalds/Fix-driver remotes/origin/official/rs_xxxx 2 git pull 3 git add -A 4 git commit -m "[DRV]fix xxxx drivers" 5 git push origin user/torvalds/Fix-driver