前言
今天闲来无事弄了弄git,上传到github,然后遇到各种问题。
总结一些命令及错误。
命令
git中的三类文件
被追踪的(tracked):已经加入文档库
不被追踪的(untracked):没有加入文档库
忽略的(ignored):忽略那些不需要管理的文件夹或文件
git clone
git clone https://xxx.git //(为要下载的仓库的地址)
git clone -b v2.8.1 https://xxx.git //git拉取远程指定分支下代码(-b 分支名称)
git config
git config -l//查看git配置
git config user.name 'xxx' //git配置本地仓库的userName(必须)
git config user.email '12345@qq.com' //git配置本地仓库的邮箱(必须)
git init
git init //在当前工作区间建一个git仓库
//会在当前根目录生成.git文件
git add
更新到remote的时候就先要把这些加入暂存区等待被commit。
git add .
//他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,
包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件
git add -u
//他仅监控已经被add的文件(即tracked file),
他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)
git add -A
//是上面两个功能的合集
git status
git status //查看当前可以commit的事件
git commit
git commit -m "自己提交想要写的" //本地从缓存中加到文件库(repository)中
git commit -am '版本描述' #一步完成提交 ,本地一件提交到文件库中
git push -u orgin master
git push -u origin master
//orgin 是提交的目的地,
//master是提交的分支.
删除缓存区所有文件命令
git rm -r --cached . #主要这个点一定要写
查看本地添加了哪些远程分支地址
git remote
git remote -v //详细
删除本地指定的远程地址
git remote remove origin
添加远程地址
git remote add origin https://xxxxxxxxxxxx.git
git fetch
git fetch //将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中
get merge // 合并
git pull //则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge
//这样可能会产生冲突,需要手动解决
错误类型
Git错误non-fast-forward后的冲突解决
refusing to merge unrelated histories
参考文献
使用Git上传代码到Github仓库
Git pull(拉取),push(上传)命令整理
Github进行fork后如何与原仓库同步