















git config --global user.name "xxxx"
git config --global user.name "xxxx@163.com"


通过命令行查看

git config --list --global
git config user.name
git config user.email

git help config
git config -h


git init



git status

精简方式显示文件状态
git status -s
git status --short


git add xxx



git commit -m "新建了Makefile文件"







git checkout -- xxx

git add .

git reset HEAD .

git commit -a -m "描述"

git rm -f xxx
git rm --cached xxx


#忽略所有的.a文件
*.a
#但跟踪所有的lib.a,即使在前面忽略了.a文件
!lib.a
#只忽略当前目录下的TODO文件,而不忽略subdir/TODO
/TODO
#忽略任何目录下名为build的文件夹
build/
#只忽略当前目录下名为build的文件夹
/build/
#忽略doc/notes.txt,但不忽略doc/server/arch.txt
doc/*.txt
#忽略doc/目录及其所有子目录下的.pdf文件
doc/**/*.pdf
#按时间先后顺序列出所有的提交历史,最近的提交排在最上面
git log
#只展示最新的两条提交历史,数字可以按需进行填写
git log -2
#在一行上显示最近两条提交历史的信息
git log -2 --pretty=oneline
#在一行上显示最近两条提交历史的信息,并自定义输出的格式
#%h提交的简写哈希值 | %a作者名字|%ar作者修订日期|%s提交说明
git log -2 --pretty=format:"%h | %an | %ar | %s"
#在一行上展示所有的提交历史
git log --pretty=oneline
#根据指定的提交ID回退到指定的版本
git reset --hard <CommitID>
#在旧版本中查看当时的提交历史
git reflog --pretty=oneline
#再次根据ID,跳转到最新的版本
git reset --hard <CommitID>
疑问
这里只是git仓库中回退到了历史的版本,工作区和暂存区怎么回退到历史版本
后者说是已经都退回到了历史版本







后面再推送代码,直接git push 就可以了,不需要-u origin main了,只有第一次需要
echo "# a" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/huaidanatu/a.git
git push -u origin main
git remote add origin https://github.com/huaidanatu/a.git
git branch -M main
git push -u origin main
SSH key

1.生成ssh key

ssh-keygen -t rsa -b 4096 -C "your-email@163.com"
2.配置ssh key

3.检测ssh key是否配置成功

ssh -T git@github.com
Hi huaidanatu! You've successfully authenticated, but GitHub does not provide shell access.
4.将本地仓库内容推送到GitHub仓库
echo "# a" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:huaidanatu/a.git
git push -u origin main
git remote add origin git@github.com:huaidanatu/a.git
git branch -M main
git push -u origin main
git clone 地址


之前叫master,现在叫main



git branch

git branch 分支名称
一定要注意,创建完新分支后,还是在原来的分支中呢,没有到新分支中去,只是创建了一个新的分支

git checkout 分支名称

git checkout -b 分支名称

git checkout main
git merge login
先切换到主分支,然后再合并,就把login分支合并到主分支上去了

git branch -d 分支名称
自己不能在要删除的分支上进行删除这个分支的操作


git push -u 远程仓库别名 本地分支名称:远程分支名称
git push -u origin local_login:login
git push -u origin login

git remote show 远程仓库的名字

相当于只要切换到那个分支,就自动把那个分支动远程仓库中克隆到本地了

git pull

git push 远程仓库名称 --delete 远程分支名称
git push origin --delete login
