git命令学习
git init
git init 命令用来初始化一个git仓库。
git init
也可以使用 git init <目录> 在指定的目录下初始化仓库。
git init test
git clone
git clone 命令从远程仓库拷贝项目到本地。
git clone https://gitee.com/demo.git
如果要自己定义拷贝的项目名称,可以在后面指定新的名字
git clone https://gitee.com/demo.git git-demo
git status
git status 命令用来查看文件的状态
也可以使用 git status -s 命令显示简短的信息
git add
git add 命令用来把文件添加到暂存区
添加多个文件到暂存区
git add [file1] [file2] …
添加指定目录到暂存区,包括子目录
git add [dir]
添加当前目录下的所有文件到暂存区
git add .
git commit
git commit 命令用来把暂存区文件添加到本地仓库中
提交暂存区到本地仓库中:
git commit -m [message]
[message] 可以是一些备注信息
提交暂存区中的指定文件到本地仓库中
git commit [file1] [file2] … -m [message]
可以使用 -a 参数,设置将工作区的文件直接添加到仓库中
git commit -a -m
这种只对修改和删除文件有效,如果是新文件还是需要git add,不然就是untracked状态
git rm
git rm 命令用于删除文件。
将文件从暂存区和工作区中删除
git rm <“file”>
如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,可以使用
git rm --cached <“file”>
git reset
git reset 命令用于回退版本,可以指定退回某一次提交的版本。
git reset 命令语法格式如下:
git reset [–soft | --mixed | --hard] [HEAD]
–soft 仅仅在本地库中移动HEAD指针
–mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
–hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息。
git reset HEAD^ // 回退所有内容到上一个版本
git reset HEAD^ abc.txt // 回退 abc.txt 文件的版本到上一个版本
git reset 412423 // 回退到指定版本
HEAD 说明:
HEAD 表示当前版本
HEAD^ (^的个数表示后退几步)
HEAD~n (n的数字表示后退几步)
git log
git log 命令查看历史提交记录。
git log
可以用 --oneline 选项来查看历史记录的简洁的版本。
git log --oneline
可以用 --graph 选项,查看历史中什么时候出现了分支、合并。
git log --graph
可以用 --reverse 参数来逆向显示所有日志。
git log --reverse
可以使用 --author 查找指定用户的提交日志。
git log --author xxx
git blame
git blame 命令查看指定文件的修改记录
git blame <“file”>
git remote
git remote 命令用于在远程仓库的操作。
git remote -v
//origin https://github.com/demo.git (fetch)
//origin https://github.com/demo.git (push)
显示某个远程仓库的信息:
git remote show [remote]
如:git remote show https://github.com/demo.git
git fetch
git fetch 命令用于从远程获取代码库。
git fetch origin
git pull
git pull 命令用于从远程获取代码并合并本地的版本。
git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写。命令格式如下:
git pull <远程主机名> <远程分支名>:<本地分支名>
将远程主机 origin 的 master 分支拉取过来,与本地的 test 分支合并。
git pull origin master:test
如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master
git push
git push 命令用于将本地的分支版本上传到远程并合并。格式如下
git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
比如将本地的 master 分支推送到 origin 主机的 master 分支
git push origin master
相当于
git push origin master:master
如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:
git push --force origin master
删除主机的分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
git push origin --delete master
git branch
列出分支基本命令:
git branch
创建分支命令:
git branch <分支名>
删除分支:
git branch -d <分支名>
git checkout
切换分支命令:
git checkout <分支名>
创建分支并切换到该分支:
git checkout -b <分支名>