一、安装Git

1、Linux

首先,你可以试着输入git,看看系统有没有安装Git:

$ git

The program 'git' is currently not installed. You can install it by typing:

sudo apt-get install git

2、Mac

(1)方法1是安装homebrew,然后通过homebrew安装Git.

(2)方法2是安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。

3、Windows

可以从Git官网直接下载安装程序(或国内镜像),然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

4、安装完成后需要在命令行执行:

$ git config --global user.name "Your Name"

$ git config --global user.email "email@example.com"

二、创建版本库(请确保目录名(包括父目录)不包含中文)

1、创建版本库目录

$ mkdir learngit

$ cd learngit

$ pwd

/Users/michael/learngit

2、把这个目录变成Git可以管理的仓库

$ git init

Initialized empty Git repository in /Users/xxx/learngit/.git/

执行后,提示这是一个空仓库,文件夹中增加了.git隐藏文件。

3、创建分支

$ git branch dev

4、切换分支

$ git checkout dev

三、将文件提交到版本库

1、把文件放到暂存区

$ git add readme.txt

$ git add . (把所有文件放到暂存区)

2、提交文件到版本库(把暂存区的文件提交到分支)

$ git commit -m "wrote a readme file"(commit能提交多个文件,-m后面是备注信息)

[master (root-commit) cb926e7] wrote a readme file

1 file changed, 2 insertions(+)

create mode 100644 readme.txt

四、撤销修改和删除文件

1、撤销工作区的修改(没有add)

$ git checkout -- file

2、撤销暂存区的修改(add以后,没有commit)

$ git reset HEAD file(回到了场景1)

$ git checkout -- file

3、撤销分支的修改(commit以后)

$ git reset --hard commit_id(根据commit_id回退到相应版本)

$ git reset --hard HEAD^(回退到上一版本)(HEAD是当前版本,HEAD^是上一版本,HEAD~10是上10个版本)

4、删除工作区文件

$ rm file

5、删除版本库中文件

$ git rm test.txt

$ git commit -m "remove test.txt"

五、关联远程仓库

1、本地生成SSH秘钥

$ ssh-keygen -o -t rsa -C "your.email@example.com" -b 4096

2、上传秘钥

~\.ssh 路径下复制id_rsa.pub的秘钥,粘贴到github里的Add SSH Key页面

3、本地版本库关联远程仓库

$ git remote add origin git@github.com:xxx/learngit.git

远程库的名字就是origin,可修改。

六、从本地版本库上传文件到远程仓库

1、第一次上传到master分支

$ git push -u origin master

或 $ git push -u origin dan.zhang(上传到远程仓库的 dan.zhang 分支)

2、如有冲突,下拉合并

$ git pull --rebase origin master

3、后续上传master分支

$ git push origin master

七、将远程仓库克隆到本地

$ git clone git@github.com:xxx/mygit.git

执行后,本地生成一个mygit目录,内容和远程仓库里的相同。

Logo

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

更多推荐