自学材料:

Pro git(Yihui Xie, J. J. Allaire, Garrett Grolemund)

1 安装和配置(准备工作)

1.1 安装git bash

此步骤必须

  • 下载git bash到本地电脑

  • 在本地电脑安装git bash——强烈建议默认安装路径

1.2 申请github账号

,高校邮箱有福利(可以建立私有仓库啊,完成你的秘密项目)。

记得取一个简单好记的用户名;记得改一个有个性的头像。(后面协作开发项目的时候,可以更方便沟通和交流!)。

  • Git Bash窗口,并输入如下代码(这是告诉git,我将以如下身份开始git之旅啦!):
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

1.3 安装文本编辑器Notepad++

此步骤非必须,根据个人爱好而定。

配置默认文本编辑器(text editor)。windows党还是自觉使用Notepad吧,免费又熟悉

  • 下载并在本地电脑安装Notepad++——强烈建议默认安装路径

  • Git Bash窗口,并输入如下代码(这是告诉git,我将使用如下的默认文本编辑器):

$ git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

1.4 安装并配置合并检查工具——p4merge

此步骤非必须,看你是不是git重度用户。

配置合并检查工具(mergetool)。这个必须要图形化GUI的,p4merge就是一个不错的选择。

  • 下载并在本地电脑安装p4merge。————强烈建议默认安装路径

windowns系统下默认安装路径一般为"C:Program Files\Perforce\p4merge.exe"

  • Git Bash窗口,并输入如下代码(这是告诉git,我将使用如下的合并检查工具):
$ git config --global diff.tool p4merge
$ git config --global difftool.p4merge.path 'C:\Program Files\Perforce\p4merge.exe'

$ git config --global merge.tool p4merge
$ git config --global mergetool.p4merge.path 'C:\Program Files\Perforce\p4merge.exe'

1.5 检查git配置信息

如果上述步骤都做好了,你可以系统地检查一下是不是git配置都正确(如你所愿)啦!

  • Git Bash窗口,并输入如下代码(这是告诉git,请列出我所有的git配置信息):
$ git config --list

2 git基础操作

2.1 准备工作

  1. 准备本地电脑上的工作文件夹。例如,在d盘新建一个名为project的文件夹,那么工作文件路径就是d:/project/

工作文件夹最好不要设在系统盘,如c盘。——系统重装可能就麻烦了!

文件夹命名不要出现中文。——编程世界中还是乖乖用英语吧!

  1. Git Bash窗口,并输入如下代码(这是告诉git,请进入工作文件夹吧):
git cd /d/project

2.2 (clone)克隆一个github在线仓库

如果你想学习并改进一个已经github在线的公开项目,你可以把它克隆下来:

  1. 在github网站上找到自己喜欢的在线仓库,例如:https://github.com/huhuaping/team-students

  2. Git Bash窗口,并输入如下代码(这是告诉git,请拷贝这个在线仓库吧):

git clone https://github.com/huhuaping/team-students
  1. 上述操作会在当前工作目录下创建一个名为 “team-students” 的目录,并在这个目录下初始化一个 .git 文件夹。

2.3 (fork)派生一个项目

如果你想对一个公开项目(例如,https://github.com/huhuaping/team-students )做出自己的贡献,你可以把它fork到你的github账户下。

  1. 进入github官方网站,用你的账号密码登陆进去。

  2. 在浏览器上新建标签页,找到你感兴趣的公开项目(例如,https://github.com/huhuaping/team-students )。

你也可以直接搜索你感兴趣的任意公开项目

  1. 对于这个你感兴趣的公开项目,点击网页上大大的Fork按钮。

  2. 这时,你可以在你自己账户下的仓库列表中,看到刚才Fork的你感兴趣的项目。

  3. Git Bash窗口,并输入如下代码(这是告诉git,请进入工作文件夹吧):

git clone https://github.com/your-account-name/team-students

注意:这里的your-account-name是你github账户的用户名——因为你把别人的公开项目(派生)Fork到自己的账户下啦!

  1. 进入工作文件夹。在Git Bash窗口,并输入如下代码(这是告诉git,请进入工作文件夹吧):
cd  /d/projects/team-students
  1. 新建一个名为git-intro分支(branch),并检出(checkout)到这个分支。——这一步的意义以后再说吧。在Git Bash窗口,并输入如下代码(这是告诉git,请进入工作文件夹吧):
git checkout -b git-intro

2.4 对项目进行版本控制

  1. 对项目代码进行修改和完善。例如,

打开R项目文件team-students.Rproj,运行Rstudio 修改其中Rmarkdown文件02-git-team-intro.Rmd的内容,例如增加一行代码。 保存(save)好修改。

  1. 暂存(stage)修改。在Git Bash窗口,并输入如下代码(这是告诉git,把这个文件暂存stage起来吧):
git add 02-git-team-intro.Rmd
  1. 提交(commit)修改。在Git Bash窗口,并输入如下代码(这是告诉git,提交修改,并附注一条信息add a new line):
git commit -m 'add a new line'
  1. 推送(push)修改。在Git Bash窗口,并输入如下代码(这是告诉git,把我们的修改推送到github云端去吧):
git git push origin git-intro

3 常用的git命令

  1. 如何查看git工作目录?在Git Bash窗口,输入并运行如下代码:
pwd
  1. 如何视图化查看提交历史、各个分支的指向以及项目的分支分叉情况?
$ git log --oneline --decorate --graph --all
  1. 如何退出当前列表?在Git Bash窗口,输入并运行代码q,可以直接退出当前的列表ls

  2. 如何退出Git Bash窗口?在Git Bash窗口,输入并运行代码exit,可以直接退出git Bash窗口