# 设置用户名 邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.con"
# 查看
git config user.name
git config user.email

建立ssh连接

# 生成密钥 ,进入github添加生成的密钥(id_rsa.pub内容)
$ ssh-keygen -t rsa -C ‘邮箱’  //.ssh目录下(C盘用户文件夹下)得到了两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有密钥)
# 测试链接
$ ssh -T git@github.com
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
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐