介绍: git是一种版本控制工具 也能用作多人协调开发
查看git在线文档 : git在线文档
查看git本地文档: 在git bash中输入 git help git
可以得到本地的文档手册地址,会自动跳转到浏览器中打开
git下载地址:根据自己电脑型号下载对应版本
git命令
指令 | 参数 | 描述 |
---|---|---|
git add <filename> | <filename> | 跟踪单个文件名为filename的文件,将该文件添加到暂存区中 |
git add . | 将该文件夹下所有的文件从工作区添加到暂存区(也叫索引,index) | |
git branch | 查看本地所有分支(分支前带* 且高亮显示表示当前分支 ,初始化仓库后必须先提交才能查看分支) | |
git branch xxx | 新建本地分支xxx | |
git branch -a | 查看所有分支(本地和远程) | |
git branch -l | 查看本地所有分支 | |
git branch -r | 查看远程所有分支 | |
git branch -d xxx | 删除本地分支xxx(不能在该分支上删自己)如果没有合并到其它分支也删不掉 | |
git branch -D xxx | 强制删除本地分支xxx(-d的加强版) | |
git branch --set-upstream-to <remotedeposit> / <remotebranch> | <remotedeposit>指的是远程仓库名,<remotebranch>指的是远程分支名 | 给当前本地分支设置一个远程上游分支,实现跟踪。该上游分支一定是提前被创建好的(通过push -u 的时候创建的) |
git checkout xxx | 切换到分支xxx(如果xxx是已经在本地仓库有记录的远程分支,且本地没有这个xxx分支时,此时会新建本地xxx分支且切换到xxx分支并把远程xxx的所有内容克隆到本地xxx) | |
git checkout -b xxx <template> | <template> 放在xxx后,表示以该分支为模板新建分支xxx | 以分支 template 为模板创建并切换到本地分支xxx(如果不写template则默认为当前分支为模板) |
git checkout -b xxx origin <template> | <template>放在origin后,表示以该远程分支为模板将其中的内容赋值给本地分支xxx | 创建并切换到分支xxx |
git commit -m "message" | message是提交时的描述信息 | 将暂存区里修改的内容提交到本地仓库中 |
git config --list --global | 查看git配置文件中的全局配置项 | |
git config user.name | 查看全局配置中的用户名(没有需要设置) | |
git config user.email | 查看全局配置中的用户邮箱(没有需要设置) | |
git diff <filename> | <filename>是项目文件夹中的文件名 | 查看文件名叫 filename 的文件修改的内容 (只有修改了才能看到效果) |
git fetch origin master:tmp | 在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支 | |
git help git | 打开git的本地文档 | |
git log | 查看当前版本的所有提交记录 | |
git merge <branchname> | <branchname>是一个分支名 | 在当前分支下合并branchname分支里面的内容,并不会对branchname分支造成影响。 |
git merge --abort | 在合并冲突后,git add 之前使用,作用是:取消本次合并(ps:如果merge时存在大量未commit的文件,此操作可能不能完全重现合并之前的状态) | |
git pull <远程主机名> <远程分支名>:<本地分支名> | 远程主机名一般为origin | 取回远程主机某个分支的更新,再与本地的指定分支合并(可能有冲突) |
git push -u <remotedeposit> <localbranch> :<remotebranch> | <remotedeposit>是远程仓库名,默认为origin,<localdbranch>是本地分支名,<remotebranch>是远程分支名 | 将本地分支 localbranch 下的所有文件提交到 远程分支 remotebranch 上,当两者的名字一致时,可以省略为一个名字。即 git push -u origin master |
git push | 一般是在当前分支上使用,即将当前分支的内容push到远程的同名分支中 | 是 git push -u <remotedeposit> <localbranch> :<remotebranch>的简写,当前分支只需要写一次 -u,之后都能简写为git push |
git push --help | 查看官方文档,获取详细信息 | |
git push --set-upstream <remotedeposit> <remotebranch> | <remotedeposit>是远程仓库名,默认为origin,<remotebranch>是要新建的远程分支名, --set-upstream可以简写为-u | 新建一个名叫 remotebranch 的远程分支 |
git push origin HEAD:<name of remotebranch> | <name of remotebranch>是远程仓库分支 | 该指令仅仅在当前分支为远程分支 remotebranch 时用于推送 文件 到同名的远程分支上 |
git push origin --delete <name of remotebranch> | 删除远程分支 | |
git rm <filename> | <filename>是项目文件夹中的文件名(不能是文件夹名) | 删除文件名叫 filename 的文件(该文件必须在暂存区才能删除) |
git rm -r <file> | 删除file这个文件夹 | |
git remote add [remotedeposit] [url] | remotedeposit是远程仓库名字,url是远程仓库地址 | 添加一个新的远程仓库,可以指定一个简单的名字 |
git remote -v | 显示所有远程仓库地址(通过地址前缀可以得出是ssh方式还是https) | |
git remote show <remotedeposit> | <remotedeposit> 是远程仓库名称,默认为origin | 查看远程仓库的相关信息 |
git remote rm [remotedeposit] | remotedeposit是远程仓库名字 | 删除远程代码仓库地址 |
git remote add origin <address> | <address> 是远程仓库里的地址 | 给项目添加远程代码仓库地址 (address 为ssh地址或者https地址) 将别人仓库地址关联到本地 |
git reflog | 查看所有的操作记录(配合git reset 实现版本回退) | |
git reset HEAD <file> | file 是文件命名 | 撤销 文件file 从工作区提交到暂存区的操作 |
git reset --<model> <haxi> | <model>是模式,共三种,hard:不保留所有变更;soft:保留变更且变更内容处于Staged(暂存区);mixed:保留变更且变更内容处于Modified(工作区) <haxi>是commit提交时产生的哈希值,可以通过reflog查看,取前七位即可 | 撤销文件提交到缓存区的操作(ps:在合并冲突时也可以用) |
git status | 查看文件/文件夹 在工作区或暂存区的状态 | |
git status -s | 等同于git status,不过展示信息更加简略。文件名前有两个红?:表示文件在工作区; 文件名前有红M:表示在工作区; 文件名前有绿M/绿A:表示在暂存区; |
注意事项:
1. 遇到无法退出的界面:先q,不行ctrl+z,再不行shift + z +z
2. 合并冲突时出现界面:输入指令 :wq 就能退出
3. 合并完成后,先运行代码,确保自己要提交的功能正常运行,同时不能影响之前已完成的功能。确保无误后再add和commit
关于gitignore文件: