== 1.在GitHub中新建代码仓库 ==
== 2.前置准备 ==
git version # 检查是否有git,没有的话下载
git init # 初始化git
git config --global user.email “xxx@foxmail.com” # (登陆)告诉Git你是谁
git config --global user.name “xxx”
git remote add origin https://github.com/xxx/xxx.git # 添加远程地址
git remote -v # 检查是否添加成功
git remote set-url origin https://github.com/lunbubu/AFL_VEC2.git # 重新设置url
== 3.上传代码 ==
git add .
# 当前项目的代码会被添加到缓存区中去
git commit -m 'initial submit'
# commit到本地仓库【左侧的目录的颜色会变成正常】【'initial submit’为备注信息】
git push origin master
# 将本地的 master 分支推送到 origin 主机的 master 分支。一般形式为git push <远程主机名> <本地分支名> <远程分支名>。git push origin master:origin是远程主机,master表示是远程服务器上的master分支和本地分支重名的简写,分支名是可以修改的。
git branch -r # 查看远程的分支名
git branch # 查看本地的分支名
git push # 如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push
git push origin HEAD # 只push最新的commit
git push origin # push指定的commit,是要push的commit的哈希值
总结来说三个操作:add、commit、push
== 使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作 ==
git branch -M main # 重命名分支,使用-M则表示强制重命名
git branch # 查看本地所有分支
git branch -r # 查看远程所有分支
git pull origin main # 表示将远程origin主机的master分支拉取过来和本地的当前分支进行合并
git status # 查看目前git状态
== 如果某个commit的代码有错误,如何撤销此次commit且不影响本地代码? ==
git log # 打印commit日志
git reset --soft [commit版本号] # 回退到这个版本的commit
git status # 查看目前git状态
git log # 再次查看一下commit的情况,是否回退了
接着执行add、commit、push就行了
== 可能要配合删除缓存区使用
git reflog # 查看操作日志,HEAD指针
git log # 查看本地的所有提交
git ls-files # 查看缓存区有哪些内容
git rm -r --cached data/ # 删除缓存区data文件夹下的的所有内容
git reset --hard HEAD^ # tmd千万不要用这个命令!!!!!撤销commit还会把working tree里的修改撤销。重置暂存区和工作区,彻底回退到某个版本。
== 如果不小心git reset --hard了怎么恢复代码? ==
前提是git commit了,不然这个方法不行
git fsck --lost-found # 找到commit过的代码痕迹,dangling commit后面跟的就是代码
git show [dangling commit后面的字符串] # 查看哪一个是自己删除的代码
git rebase [dangling commit后面的字符串] # 恢复啦
== 已经有了远程仓库,如何换一个远程仓库 ==
git remote rm origin # 先删除原来的
git remote add origin git@github.com:your_username/your_repository.git
在terminal中的git操作,必须要进入到所在的文件夹中,只有当前文件夹被上传至GitHub上面,才有git操作。可以用git status
命令查看当前状态:
这个就是当前文件夹没有git到仓库中去。
这个就是有。