Git Bash 命令

查看配置

git config --list

查看指定语句的说明文档

git help config

设置用户名和密码

git config --global user.name xiaoyu
git config --global user.email xiaoyu@foxmail.com

初始化公共仓库

git init --bare server.git

从远程仓库获取代码

拉取所有版本到本地。

git clone d:\test\server.git user1  //从本地远程仓库
git clone d:\test\server.git user2  //从本地远程仓库
git clone https://github.com/xiaoyustudio181/xxx.git //从网络远程仓库

在 git bash 中反斜杠要使用双反斜杠。

初始化本地仓库

不从远程仓库获取代码的情况。

git init

查看仓库状态

git status
git status -s //简洁模式

添加文件到暂存区

git add a.txt
git add a.txt b.txt
git add *.txt
git add .
git add *

可通过编辑器或命令行创建.gitignore文件,内容写入不想提交的文件名。

从暂存区移除文件

git rm --cached *
git rm --cached a.txt
git reset *
git reset a.txt
  1. 必须保证工作目录中代码和暂存区中代码一致。
  2. 删除之后,工作目录中仍然有此文件而暂存区没有,git 将不管理该文件。

将暂存区中的代码提交到本地仓库,并形成一个版本

git commit -m 'add a.txt'

如果备注的内容里有空格,则需使用引号。

查看本地仓库中的历史提交版本

git log
git log --oneline //简洁模式
git log --oneline --graph //拓扑图模式
git log --oneline --reverse //逆向模式
git log --author xiaoyu //用户模式
git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges //时间模式

q 退出查看模式。

向远程仓库推送代码

git push
git push origin(远程仓库地址) master(本地分支):master(远程分支)

将暂存区的文件恢复到工作目录

git checkout .
git checkout *
git checkout a.txt

前提是暂存区和工作目录中均有此文件,该文件依然被 git 管理。


回滚到本地仓库中特定版本并覆盖暂存区和工作目录

git reset --soft [commitID] //工作目录和索引都不变
git reset [commitID] //工作目录不变,重置索引,相当于加参数 --mixed
git reset --hard [commitID] //重置工作目录和索引,不保留它之后提交的文件
  • commitID 是 git log 中的版本编号,可全部复制粘贴或取前 4 位以上。
  • 当回滚老版本时,它之后的版本将被删除。

远程仓库地址信息

git remote -v
git remote show origin //查看当前别名所对应的远程仓库地址
git remote rm origin //删除当前别名所对应的远程仓库地址
git remote add origin d:\\test\\server.git //为远程仓库地址创建别名
git remote add origin https://github.com/xiaoyustudio181/xxx.git

从远程仓库拉取历史

git fetch

从远程仓库拉取代码

git pull

暂存本地内容的变化,并恢复到上一次提交之后的状态。

git stash
  • 恢复本地暂存的内容变化。
git stash pop

给版本打上标签,可在 git log 中看到

git tag test //给当前版本打上标签
git tag test [commitID] //给指定版本打上标签
git tag -d test //删除名字是 test 的标签

不可打重复的标签。

分支命令

git branch test //创建分支 test
git branch //查看所有分支。带`*`的是当前分支。
git checkout test //切换到指定分支。切换后目录的内容会随之变化。
git checkout -b test //创建并切换到分支
git branch -d test //删除分支。如果分支正在使用,或没有被合并,则不能删除。
git branch -D test //强制删除分支
git merge test //合并指定分支到当前分支。合并后来源分支仍然存在。

猜你喜欢

转载自blog.csdn.net/petezh/article/details/81508108