一、新建代码库和配置
#在当前目录新建一个Git代码库 (初始化) $ git init
#下载一个项目和它的整个代码历史 $ git clone [ url ]
Git的配置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。(注意:一个总的文件夹中只能有一个.git的配置的文件)
#显示当前的Git配置 $ git config --list
#编辑Git配置文件 $ git config -e [ --global ]
#设置提交代码时的用户信息 git config [ – global] user.email “[ email address ]”
二、增加/删除文件
#添加指定文件到暂存区
$ git add [ file1 ] [ file2 ]
#添加当前目录的所有文件到暂存区
$ git add .
#删除工作区文件,并且将这次删除放入暂存区
$ git rm [ file1 ] [ file2 ]
三、代码提交和撤销
#提交暂存区到仓库区 $ git commit -m “输入完成的阶段的名称” (上传到本地的仓库)
#提交暂存区的制定文件到仓库区 $ git commit [ file1 ] [ file2 ] … -m [ message ]
#使用一次新的commit,替代上一次提交 #如果代码没有任何新变化,则用来改写上一次commit的提交信息 $ git commit --amend -m [ message ]
#重做上一次的commit,并包括指定文件的新变化 $ git commit --amend [ file1 ] [ file2 ] …
#恢复暂存区的指定文件到工作区 $ git checkout [ file1 ] [ file2 ] …
#恢复某个commit的指定文件到暂存区和工作区 $ git checkout [ commit ] [ file ]
#恢复暂存区的所有文件到工作区 $ git checkout .
#重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 $ git reset --soft [ file ]
#重置暂存区与工作区,与上一次commit保持一致 $ git reset --hard
#重置当前分支的指针为指定的commit,同时重置暂存区,但工作区不变 $ git reset --soft [ commit ]
#重置当前分支的指针为指定的commit,同时重置暂存区和工作区 $ git reset --hard [ commit ]
#新建一个commit,用来撤销指定commit #后者的所有变化都将被前者抵消,并且应用到当前分支 $ git revert [ commit ]
#暂时将未提交的变化移除,稍后再移入 git stash pop
四、分支
#列出所有本地分支 $ git branch
#列出所有远程分支 $ git branch -r
#列出所有本地分支和远程分支 $ git branch -a
#新建一个分支,并停留在当前分支 $ git branch [ branch-name ]
#新建一个分支,并切换到该分支(创建新的分支的时候一般直接使用这个) $ git checkout -b [ branch ]
#新建一个分支,指向指定commit $ git branch [ branch ] [ commit ]
#切换到指定分支,并更新工作区 $ git checkout [ branch-name ]
#建立追踪关系,在现有分支与指定的远程分支之间 $ git branch --set-upstream [ branch ] [ remote-branch ]
#合并指定分支到当前分支(使用此项命令的时候,需要切换会主分支master也就是git checkout master) $ git merge [ branch ]
#选择一个commit,合并进当前分支 $ git cherry-pick [ commit ]
#删除本地分支 $ git branch -d [ branch-name ]
#删除远程分支 git push origin --delete [ branch-name ]
五、标签
#列出所有tag $ git tag
#新建一个tag在当前commit $ git tag [ tag ]
#新建一个tag在指定的commit $ git tag [ tag ] [ commit ]
#删除本地tag $ git tag -d [ tag ]
#删除远程tag $ git push origin :refs/tags/[ tagName ]
#查看tag信息 $ git show [ tag ]
#提交指定tag $ git push [ remote ] [ tag ]
#提交所有tag $ git push [ remote ] --tags
#新建一个分支,指向某个tag $ git checkout -b [ branch ] [ tag ]
六、远程仓库
#远程仓库的提交,与远程仓库建立链接 $ git remot add origin https/ssh地址 (一般在gitee或者其他的平台创建仓库的时候会有提醒的)
#提交到远程仓库 $ git push -u origin master
顺便注意一下:.gitignore这个文件,可以忽略文件和文件夹,脱离git的管理