Git 安装
-
访问Git
-
点击下载
选择系统对应版本,下载最新版即可。
-
安装
选择安装位置,可勾选桌面快捷方式,点击next。
-
验证
输入
git
,命令不报错,并生成多行解释,则安装成功。
Git命令关系
- workspace:工作区
- staging area:暂存区/缓存区
- local repository:版本库或本地仓库
- remote repository:远程仓库
Git基本命令
-
git init - 初始化仓库
-
git add - 命令可将该文件添加到暂存区
- git add [file1] [file2] …
- 添加一个或多个文件到暂存区
- git add [dir]
- 添加指定目录到暂存区,包括子目录
- git add .
- 添加当前目录下的所有文件到暂存区
- 文件修改后,我们一般都需要进行 git add 操作,从而保存历史版本。
- git add [file1] [file2] …
-
git status - 查看上次提交之后是否有对文件进行再次修改
- git status -s
- 获得简短的输出结果
- A: 你本地新增的文件(服务器上没有).
- C: 文件的一个新拷贝.
- D: 你本地删除的文件(服务器上还在).
- M: 文件的内容或者mode被修改了.
- R: 文件名被修改了。
- T: 文件的类型被修改了。
- U: 文件没有被合并(你需要完成合并才能进行提交)。
- X: 未知状态(很可能是遇到git的bug了,你可以向git提交bug report)
- ?:未被git进行管理,可以使用git add file1把file1添加进git能被git所进行管理
- 获得简短的输出结果
- git status -s
-
git clone - 拷贝一份远程仓库,也就是下载一个项目。
- git clone [url]
- [url] 是你要拷贝的项目
- git clone [url]
-
git diff - 比较文件的不同,即暂存区和工作区的差异。
- git diff [file]
- 显示暂存区和工作区的差异
- git diff --cached [file] 或 git diff --staged [file]
- 显示暂存区和上一次提交(commit)的差异
- git diff [first-branch]…[second-branch]
- 显示两次提交之间的差异
- git diff [file]
-
git commit - 暂存区内容添加到本地仓库中
- git commit -m [message]
- 提交暂存区到本地仓库中,[message] 可以是一些备注信息。
- git commit [file1] [file2] … -m [message]
- 提交暂存区的指定文件到仓库区
- git commit -a
- 修改文件后不需要执行 git add 命令,直接来提交
- git commit -m [message]
-
git reset - 回退版本,取消已缓存的内容
- git reset [–soft | --mixed | --hard] [HEAD]
- –mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
- –soft 参数用于回退到某个版本
- git reset --soft HEAD
- –hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
- HEAD 表示当前版本
- HEAD^ 上一个版本
- HEAD^^ 上上一个版本
- HEAD^2 上上一个版本
- HEAD^3 上上上一个版本
- 以此类推…
- git reset HEAD [file]
- 取消指定文件已缓存的内容
- git reset [–soft | --mixed | --hard] [HEAD]
-
git rm - 删除工作区文件
- git rm
- 将文件从暂存区和工作区中删除
- -f - 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
- git rm --cached
- 文件从暂存区域移除,但仍然希望保留在当前工作目录中
- git rm
-
git mv - 移动或重命名工作区文件
- git mv [file] [newfile]
- 移动或重命名一个文件、目录或软连接
- -f - 如果新但文件名已经存在,但还是要重命名它,可以使用 -f 参数
- git mv [file] [newfile]
-
git log - 查看历史提交记录
- git log --oneline
- 查看历史记录的简洁的版本
- git log --graph
- 查看历史中什么时候出现了分支、合并
- git log --reverse
- 逆向显示所有日志
-
git blame - 以列表形式查看指定文件的历史修改记录
- git blame
- 以列表形式显示修改记录
- git blame
-
git remote - 远程仓库的操作
- git remote -v
- 显示所有远程仓库
- git remote show [remote]
- 显示某个远程仓库的信息
- git remote add [shortname] [url]
- 添加远程版本库,shortname 为本地的版本库
- git remote rm name
- 删除远程仓库
- git remote rename old_name new_name
- 修改仓库名
- git remote -v
-
git fetch - 从远程获取代码库
-
git fetch [alias]
- 假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行,以上命令告诉 Git 去获取它有你没有的数据
-
git merge [alias]/[branch]
- 以上命令将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支
-
-
git pull - 下载远程代码并合并
- git pull <远程主机名> <远程分支名>:<本地分支名>
- 从远程获取代码并合并本地的版本
- git pull origin master:brantest
- 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。如果远程分支是与当前分支合并,则冒号后面的部分可以省略
- git pull origin master
- 取回 origin/master 分支,再与本地的 brantest 分支合并
- git pull <远程主机名> <远程分支名>:<本地分支名>
-
git push - 上传远程代码并合并
- git push <远程主机名> <本地分支名>:<远程分支名>
- 将本地的分支版本上传到远程并合并
- git push <远程主机名> <本地分支名>
- 本地分支名与远程分支名相同,则可以省略冒号
- git push <远程主机名> <本地分支名>:<远程分支名>
文章来源:Git 基本操作
版本上传到远程并合并
* git push <远程主机名> <本地分支名>
* 本地分支名与远程分支名相同,则可以省略冒号
文章来源:Git 基本操作