工作中常用的git命令(工作笔记)
常用命令
-
配置
- 查看所有配置
git config --list
- 配置用户名
git config --global user.name "用户名"
- 配置邮箱
git config --global user.email="邮箱地址"
- 查看所有配置
-
代码管理
- 克隆代码
git clone 远程git仓库链接 例子: git clone http://192.168.0.1/dbwos/gitDemo 描述: 拉取了192.168.0.1上的一个代码仓库到本地。
- 查看文件状态
git status
- 添加修改的文件到暂存区
git add -a 备注: 上面的语句把所有修改添加到临时仓库。 git add 文件名 备注: 添加指定文件到暂存区。 git add . 备注: 添加当前工作区下的所有文件到暂存区。
- 提交暂存区代码到本地仓库
git commit -m '备注' 备注: 提交上面add的修改,-m后面是此次提交的备注。 这时候没有提交到远程仓库
- 提交本地仓库的代码到远程仓库
git push origin 分支名 例子: git push origin bob 解释: 上面的代码将commit的修改提交到bob分支
- 查看提交日志
显示git log
添加commit 7901fa27eb6090a7335ea13ec32 Author: bob <eastry@qq.com> Date: Thu May 14 10:29:42 2020 +0800 测试2 commit 5f9e190059477665438869fdb54 Author: bob <eastry@qq.com> Date: Wed May 13 17:12:36 2020 +0800 测试1
--pretty=oneline
让显示结果更简洁
显示git log --pretty=oneline
a663e7858e52f0b93eff58a4c8c (HEAD -> master, origin/master) some change 7901fa27eb6090a7335ea13ec32 测试2 5f9e190059477665438869fdb54 测试1
这里的一串类似
7901fa27eb6090a7335ea13ec32
的东西是commit的id,就像身份证号一样可以定位到是哪个commit。
- 克隆代码
-
版本控制
-
回到上一版本
git reset --hard HEAD^
--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft
不删除工作空间改动代码,撤销commit,不撤销git add .
--hard
删除工作空间改动代码,撤销commit,撤销git add .这个命令会将代码彻底恢复到上一次commit时候的样子,很干净很彻底。 -
回到指定版本
git reset --hard commitId 如: git reset --hard 7901fa27eb6090a7335ea13ec32
-
查看每一次命令
git reflog
-
-
撤销
-
撤销工作区的修改
你下载了代码,然后做了些修改。但是一运行发现全是bug,赶紧撤自己的修改。git checkout -- readme.txt //这句命令就是把工作区的修改全部撤销
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
1.readme.txt还没有被提交到暂存区,也就是还没有运行git add readme.txt
命令,会将readme.txt恢复到和版本库中一样的文件。
2.readme.txt已经被提交到了暂存区,也就是已经运行了git add readme.txt
命令,但是这时候你又修改了readme.txt文件。这时候会恢复到add时候的样子。 -
撤销add后的代码
git restore --staged <file>... 例子: git add src/com/test.txt src/com/tes1.txt git restore --staged . 解释: 将刚刚add的所有文件撤销回来
或者
git reset HEAD //撤销上次add的所有文件 git reset HEAD readme.txt//撤销上次add的readme.txt文件
-
撤销commit后的代码
git reset
-
-
分支管理
-
查看所以分支
git branch -a
-
切换分支
git checkout 分支名 例子: git checkout bob //上面的例子切换到bob分支
-
更新remote索引
有时候别人添加了一个分支,使用git branch -a
查看不到,所以这时候使用fetch
命令来更新一下远程的索引。git fetch
-
git笔记
作者:BobC
文章原创。如你发现错误,欢迎指正,在这里先谢过了。博主的所有的文章、笔记都会在优化并整理后发布在个人公众号上,如果我的笔记对你有一定的用处的话,欢迎关注一下,我会提供更多优质的笔记的。