新手学习中
1.首先安装git工具
到http://msysgit.github.com/下载安装包,完成安装之后,就可以使用命令行的 git
工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。
2.在github、码云等代码仓库网站上注册一个帐号
3.初次配置
Git 自带一个 git config
的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:
-
/etc/gitconfig
文件: 包含系统上每一个用户及他们仓库的通用配置。 如果使用带有--system
选项的git config
时,它会从此文件读写配置变量。 -
~/.gitconfig
或~/.config/git/config
文件:只针对当前用户。 可以传递--global
选项让 Git 读写此文件。 -
当前使用仓库的 Git 目录中的
config
文件(就是.git/config
):针对该仓库。每一个级别覆盖上一级别的配置,所以.git/config
的配置变量会覆盖/etc/gitconfig
中的配置变量。
在 Windows 系统中,Git 会查找 $HOME
目录下(一般情况下是 C:\Users\$USER
)的 .gitconfig
文件。 Git 同样也会寻找 /etc/gitconfig
文件,但只限于 MSys 的根目录下,即安装 Git 时所选的目标位置。
当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
4.添加SSH KEY
- 打开git bash,使用命令来生成ssh公钥和私钥对
在命令行输入:
ssh-keygen -t rsa -C 'xxx@xxx.com'
然后一路回车(-C 参数是你的邮箱地址)
- 然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,windows就是C:\Users\Administrator),复制其中的内容
- 打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字(名字可以根据喜好设置),点击Add key按钮
这样就可以完成ssh key的添加和配置,然后进行pull和push就不需要输入密码
添加多个SSH KEY
有时我们需要在一台电脑上添加多个仓库的git信息,那就需要添加多个ssh key,具体方法如下:
- 第一步还是用命令行生成密钥
ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa
一路回车
ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa
一路回车
- 在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id-rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id-rsa
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径
- 按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub方法与添加一个的时候相同
- 添加和配置完成。可以查看~/.ssh目录下会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件
5.常用命令
从GitHub上clone代码到本地:
$ git clone git@github.com:yejingwei/bookkeeping.git
代码更新:
$ git pull
代码提交:
#添加到索引库
$ git add 完整文件路径
#提交到本地版本库
$ git commit -m "注释说明"
#推送到远程仓库
$ git push
关于提交可以参考:
git add :https://blog.csdn.net/hudashi/article/details/7664374
git commit: https://www.cnblogs.com/qianqiannian/p/6005628.html
查看本地已改动代码:
$ git status
查看改动的地方
$ git diff
查看所有提交历史:
$ git log
查看某个特定文件的改动历史
$ git log -p <file>
查看谁在什么时候改动的历史
$ git blame <file>
列出所有存在的branch(分支)
$ git branch -av
switch到head(最新的)branch
$ git checkout <branch>
以当前head为基础,创建一个新的branch
$ git branch <new-branch>
删除一个本地branch
$ git branch -d <branch>
列出当前所有已配置的远程连接
$ git remote -v
展示一个远程连接的信息
$ git remote show <remote>
添加新的名为<remote>的远程仓库
$ git remote add <shortname> <url>
从远程下载所有改动,但不合入当前最新版本
$ git fetch <remote>
从远程下载所有改动,且合入当前最新版本
$ git pull <remote> <branch>
推送本地提交的改动到远程仓库
$ git push <remote> <branch>
在远程上删除一个分支
$ git branch -dr <remote/branch>
把分支合入你当前最新的版本
$ git merge <branch>
从工作区回退所有本地修改
$ git reset --hard HEAD
回退本地某个文件的修改
$ git checkout HEAD <file>
学习中,后续更新~