一、 创建仓库相关命令
1. git init
:在当前目录中创建新的 Git 仓库
2. git clone
:拷贝一份远程仓库,也就是下载一个项目
默认情况下,Git 会按照你提供的 URL 所指向的项目的名称创建你的本地项目目录。 通常就是该 URL 最后一个 / 之后的项目名称。如果你想要一个不一样的名字, 你可以在该命令后加上你想要的名称。
- (1)
git clone [url]
:拷贝一个 Git 仓库到本地,url为要拷贝的项目地址
二、提交与修改相关命令
1. git add
:添加文件到暂存区
-
(1)
git add [file1] [file2] ...
:添加指定文件到暂存区 -
(2)
git add [dir]
:添加指定目录到暂存区,包括子目录 -
(3)
git add .
:添加当前目录下的所有文件到暂存区
2. git status
:查看仓库当前的状态
用于查看在你上次提交之后是否有对文件进行再次修改
- (1)
git status -s
:获得简短的输出结果
文件名前的AM
状态的意思是:这个文件在我们将它添加到缓存之后又有改动。
3. git diff
:比较文件的不同,即暂存区和工作区的差异
-
(1)
git diff [file]
:显示暂存区和工作区的差异 -
(2)
git diff --cached [file]
或git diff --staged [file]
:显示暂存区和上一次提交(commit)的差异 -
(3)
git diff [first-branch]...[second-branch]
:显示两次提交之间的差异
4. git commit
:将暂存区内容添加到本地仓库中
-
(1)
git commit -m [message]
:添加到本地仓库中时带上message -
(2)
git commit [file1] [file2] ... -m [message]
:提交暂存区的指定文件到仓库区 -
(3)
git commit -a
:修改文件后不需要执行git add
命令,直接来提交
5. git reset
:回退版本,指定退回某一次提交的版本
- (1)
git reset [--mixed] [HEAD]
:--mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变
$ git reset HEAD^ # 回退所有内容到上一个版本
$ git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本
$ git reset 052e # 回退到指定版本
- (2)
git reset --soft HEAD
:回退到某个版本
$ git reset --soft HEAD~3 # 回退上上上一个版本
- (3)
git reset --hard HEAD
:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
$ git reset –hard HEAD~3 # 回退上上上一个版本
$ git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。
$ git reset --hard origin/master # 将本地的状态回退到和远程的一样
⚠️ 注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息。
- (4)
HEAD
说明:
HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本
以此类推...
可以使用 ~数字表示
HEAD~0 表示当前版本
HEAD~1 上一个版本
HEAD^2 上上一个版本
HEAD^3 上上上一个版本
以此类推...
6. git rm
:删除工作区文件
-
(1)
git rm <file>
:将文件从暂存区和工作区中删除 -
(2)
git rm -f <file>
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f -
(3)
git rm --cached <file>
:把文件从暂存区域移除,但仍然希望保留在当前工作目录中
7. git mv
:移动或重命名工作区文件
-
(1)
git mv [file] [newfile]
:移动或重命名一个文件、目录或软连接 -
(2)
git mv -f [file] [newfile]
:如果新的文件名已经存在,但还是要重命名它,可以使用 -f 参数
三、提交日志相关命令
1. git log
:查看历史提交记录
-
(1)
git log
:查看历史提交记录 -
(2)
git log --oneline
:历史记录的简洁的版本 -
(3)
git log --graph
:查看历史中什么时候出现了分支、合并 -
(4)
git log --reverse
:逆向显示所有日志 -
(5)
git log --author=[username]
:查找指定用户的提交日志 -
(6)
--since
、--before
、--until
、--after
参数:查看指定日期范围内的历史提交记录 -
(7)
--no-merges
选项:隐藏合并提交
2. git blame <file>
:以列表形式查看指定文件的历史修改记录
四、远程操作相关命令
1. git remote
:远程仓库操作
-
(1)
git remote -v
:查看远程仓库信息 -
(2)
git remote show [remote]
:显示某个远程仓库的信息 -
(3)
git remote add [shortname] [url]
:添加远程版本库,shortname 为别名,以便将来引用 -
(4)
git remote rm name
: 删除远程仓库 -
(5)
git remote rename old_name new_name
: 修改仓库名
2. git fetch
:从远程获取代码库
-
(1)
git fetch <远程仓库的别名>
:将远程仓库所有分支的最新版本全部取回到本地 -
(2)
git fetch <远程主机名> <分支名>
:将远程仓库指定分支的最新版本取回到本地
3. git merge
:把指定的分支合并到当前所在的分支下
4. git push
:上传远程代码并合并
5. git pull
:下载远程代码并合并
git pull
其实就是git fetch
和git merge FETCH_HEAD
的简写。命令格式如下:
git pull <远程主机名> <远程分支名>:<本地分支名>
# 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并
# 即:取回 origin/master 分支,再与本地的 brantest 分支合并。
$ git pull origin master:brantest
# 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
$ git pull origin master
五、分支管理相关命令
1. 创建分支
$ git branch <branchName>
2. 切换分支
$ git checkout <branchName>
3. 合并分支
# 将任何分支合并到当前分支
$ git merge
4. 列出分支
$ git branch
5. 创建新分支,并立即切换到该分支
$ git checkout -b <branchName>
6. 删除分支
$ git branch -d <branchName>
网友评论