GIT标准操作流程SOP:#提交暂存区文件到

git init    #初始化git仓库
git add .    #添加当前目录所有文件到暂存区
git commit   #提交暂存区到版本库HEAD
git add remote origin ... #为当前仓库添加上游仓库地址
git push -u origin master #把master分支设置为推送到上游的默认分支并且推送
..
git push  #推送默认分支

# 电脑同步到上游
git fetch (orgin) branchname #拉取上游的branch到 FETCH_HEAD
git merge FETCH_HEAD #尝试合并FETCH_HEAD 和 HEAD

#或者git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写。
git pull (origin) upstream_branchname:local_branchname

git命令的简化过程:

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。git pull origin master

只有origin一个上游 git pull master

已经指定了上游分支master : git pull

仓库的克隆

git clone <repo> <directory> 

本地git参数调整

$ git config -e    # 针对当前仓库,编辑配置文件

注: 在 Linux 系统中,commit 信息使用单引号 ',Windows 系统,commit 信息使用双引号 "

已经有一个本地仓库了,怎么上传到github?

流程:创建github仓库 -- 本地设置上游 -- 本地第一次推送 -- 本地第若干次推送

创建github仓库,可在github完成,也可在IDE中 create

本地设置上游 git add remote origin http://github.com/Anionex/...

本地第一次推送,需要设置上游和默认推送分支 如下

git push -u orgin master (orgin必须写,来指定默认远程仓库。这一句话制定了默认远程仓库和分支)

这将让origin仓库的master分支变为默认推送分支, 后续执行 git push相当于前面一大串

本地第若干次推送

直接git push, 除非你想提交别的分支

改错了东西,想要恢复,怎么办?

有两个命令完成这个操作 第一个git reset, 第二个?

git reset 有三种模式 --soft --mixed -- hard

分别对应

head还原

暂存区还原

工作区和暂存区都还原

git log选择自己中意的版本, 或者用HEAD~, HEAD~~~

然后 git reset --hard [version] 回去

更多参考 https://www.runoob.com/git/git-reset.html

gitignore用法

.gitignore文件用来标记不想被tracked的文件

可以在工作树根目录或者子目录处放入

但冲突规则最终生效规则以深度更深的为准

a/b和 /a/b是一样的,第一个slash可以忽略

examples

想ignore所有hello文件,就hello.*

只想ignore当前目录下的,/hello.*

.gitignore文件怎么生效

使用git rm --cache file

不管是在.gitignore中增加规则或删除规则,都是使用git rm --cache file让它生效。

问题

比如.gitattributes文件怎么生效

如何删除仓库并重新初始化——删除git文件夹,并且git init

进入了log状态如何退出?——按q

apt install apt-transport-https

git config --global http.version HTTP/1.1

添加的.gitignore怎么生效?

先执行`git rm --cache .`停止跟踪所有文件,但不删除文件

然后git add . 手动添加文件,本次add会正确添加需要跟踪的文件

git commit

附:git命令速查表