git bash操作
程序员文章站
2024-02-26 14:14:10
...
# 设置用户名 邮箱
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
# 查看
git config user.name
git config user.email
建立ssh连接
# 生成** ,进入github添加生成的**(id_rsa.pub内容)
$ ssh-****** -t rsa -C ‘邮箱’ //.ssh目录下(C盘用户文件夹下)得到了两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有**)
# 测试链接
$ ssh -T [email protected]
Hi xhzhuchangyu! You've successfully authenticated, but GitHub does not provide shell access. // 成功连接
# 关联远程仓库
git remote rm origin
git remote add origin “仓库地址”
# push
git push -u origin master
也可以在.gitconfig文件中修改来配置
创建版本库
# 创建一个空目录
mkdir work
# 进入work目录
cd work
# 查看当前目录
pwd
# 初始化当前目录为git仓库
$ git init
Initialized empty Git repository in C:/Users/ZHU/Desktop/work/.git/
添加、提交
$ git status
On branch master
nothing to commit, working tree clean // 工作区,暂存区没有文件修改
# 添加文件到git仓库
git add test.txt
# 提交到仓库
$ git commit -m "test"
[master (root-commit) 6e41908] test
1 file changed, 3 insertions(+)
create mode 100644 test.txt
# 此时修改文件test.txt
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: test.txt
no changes added to commit (use "git add" and/or "git commit -a") // 文件修改了还没add到暂存区
# 执行add后再次查看状态
$ git add test.txt
$ git status
On branch master
Changes to be committed: // 暂存区有待提交文件
(use "git reset HEAD <file>..." to unstage)
modified: test.txt
查看文件修改记录、日志
#查看文件修改历史记录
$ git diff test.txt
diff --git a/test.txt b/test.txt
index 4a7026a..3cd2f3f 100644
--- a/test.txt // 删除的文件
+++ b/test.txt // 新加的文件
@@ -1,4 +1,4 @@
-123 // 删除的行
+abc // 新加的行
#查看日志
$ git log
commit d8f504e003fab2363c78ce23a3d861748cf22b17 (HEAD -> master)
Author: zhu <767540869@qq.com>
Date: Thu Jun 24 10:20:45 2021 +0800
test again
commit d6449506f44f1c9b9093187386ae2a247b6d255a
Author: zhu <767540869@qq.com>
Date: Thu Jun 24 10:15:31 2021 +0800
test
版本回退
# 回退上一个版本 head^ 上上个版本head^^
$ git reset --hard head^
HEAD is now at d644950 test
# 回到最新版本
$ git reset --hard d8f50
HEAD is now at d8f504e test again
# 文件没有add之前,在工作区; 执行add后进入暂存区;执行commit, 把暂存区的修改提交到分支
# 此时修改test.txt后不执行add
$ git checkout -- test.txt // 把test.txt文件在工作区的修改撤销
# 如果执行add后希望把暂存区的修改回退到工作区
$ git reset head test.txt
Unstaged changes after reset:
M test.txt
删除
$ git rm test.txt
# 恢复工作区
$ git checkout -- test.txt
上一篇: 【Shell】关于shell脚本中执行cd命令无效的分析
下一篇: 常用 bash git