本地git常用命令
-
git init
初始化一个 仓库 以当前文件夹 ,之后的操作都要在git仓库内部,仓库外部做git是没有用的 -
git add <文件名>
在当前文件夹中加入一个可以被track的文件 文件事先要被创建好 -
git commit -m "message"
提交到仓库 ,message填提示信息,至少要告诉自己,本次修改了什么,每次修改都要先使用一次git add命令,再commit -
git diff <文件名>
如果有文件修改完,没有commit, 想看看之前commit和修改完之后的差别,用该命令; -
git log
查看修改情况,可以使用 git log --pretty=oneline将log输出变得简洁一点 -
git reset --hard HEAD
将版本往上退一个版本,往上退2个版本后面参数改成HEAD^,以此类推 -
git log
用于查看提交历史, git reflog查看命令历史,可以确定要会回到当前版本之后的哪个版本中(未来) 需要先找到想恢复到的commit id号 再使用 git reset --hard <commit id号>就行
head是一个指向当前版本号的头指针
-
work->add(暂存区)->commit, 每次commit可以
把暂存区的所有文件加到自动创建的master当中,每次修改文件都是在修改工作区域的文件,如果工作区域中修改的文件没有执行git add,也就是放到版本库的暂存区当中,那修改不会被提交保存
-
git reset HEAD <file>
可以把放到暂存区的 修改撤销,重新放回工作区 -
git checkout --<filename>
可以丢弃工作区的修改, 让这个文件回到最近一次git commit或git add时的状态 -
git reset --hard <commit id号>
撤销某一次提交的版本,返回到指定版本号 -
rm某一文件之后(工作区),需要删除版本区的文件git rm <文件名> 删除版本区的某一个文件(还要commit一下)
远程git I(先创建本地仓库,再上传到远程库当中)
step1
创建ssh key(本地仓库和远程仓库的传输通过ssh加密) 看看本地文件夹内有咩有.ssh文件(id_rsa,id_rsa.pub)
ssh-keygen -t rsa -C "youremail@example.com"
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
如果没找到ssh的位置,直接在根目录上ssh-keygen得了
step2
登录github, 打开account setting 找到ssh key, 把公钥添加进去
step3
远程库和本地库关联,在本地仓库内执行命令
git remote add origin git@github.com:ChubbyPan/TinyShell.git
解除关联
git remote remove origin
step4
本地库的所有内容推送到远程库上
git push -u origin master
每次在本地仓库更新完的版本,都要经过push 才能更新到远程库上。
远程git II(fork到本地)
git clone git@github.com:shaorui0/XXXXXXX
- 如果和他人协同工作,其他人已经对库进行更新 需要先
git pull origin main
,将更新完的库拉到本地,再将自己更新的库git push origin main
上传到远程仓库中