您的位置:首页 > 其它

git 安装及常用命令

2018-01-25 10:38 239 查看


Git安装

用homebrew指令下载,不过首先需要安装homebrew 
在终端执行后面指令安装,
homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"[/code] 完成后,使用以后指令安装Git,
brew install git


安装好Git后,配置用户名和用户邮箱,以后每次与Git的交互都会使用该信息。
git config --global user.name "your_name"
git config --global user.email "your_email@gmail.com"
1
2

配置信息可以更改,以后想要更改使用上面指令就可以。同时可以使用
git config --list
指令查看Git的配置信息。

Git默认是大小写不敏感的,也就是说,将一个文件名某个字母做了大小写转换的修改Git是忽略这个改动的,导致在同步代码时候会出现错误,所以建议大小把Git设置成大小写敏感。
git config core.ignorecase false
1


生成密钥

Git关联远端仓库时候需要提供公钥,本地保存私钥,每次与远端仓库交互时候,远端仓库会用公钥来验证交互者身份。使用以下指令生成密钥。

ssh-keygen -t rsa -C "your_email@youremail.com"


生成密钥后,在本地的
/Users/当前电脑用户/.ssh
目录下会生成两个文件
id_rsa
id_rsa.pub
id_rsa
文件保存的是私钥,保存于本地,
id_rsa.pub
文件保存的是公钥,需要将里面内容上传到远端仓库。


远端仓库添加密钥

以GitHub为例子,向远端仓库添加公钥,上面已经获取到了公钥,只需要将公钥添加到远端仓库就可以了。



图-1 添加公钥

在个人设置页面,左边选中
SSH and GPG keys
,在右边添加公钥,
title
是key的名称,可以随便取,可更改,
key
是上面我们获取到的公钥,填写完毕后点击
add
SSH key
按钮,这样远端就添加到了密钥。


本地关联远端仓库

在本地文件夹下面执行
git init
指令,初始化文件夹,作为本地的一个仓库。
执行
git remote add origin 仓库的ssh链接(ssh 链接是你github上项目的位置)

执行
git pull
指令,将远端代码拉取到本地

执行完毕后,远端仓库代码已经同步到了本地。


常用Git指令

初始化配置
git config —global user.name “XXX"
git config --global user.email “XXXX"
1
2

设置大小写敏感
git config core.ignorecase false
1

生成密钥
ssh-keygen -t rsa -C “your_email”
1

将远端代码clone到本地目录
git clone <远端git> <本地目录>
1

提交修改
git add <文件> // 将有修改的文件添加到本地缓存中 git add . 是添加所有修改
git commit -m "本次修改信息" // 提交本次修改,一般是在git add之后操作
git reset . // 撤销add
git rm --cached . // 撤销add
1
2
3
4

切换分支
git checkout <branch_name>
1

以当前分支为蓝本新建分支并切换到新分支
git checkout -b <branch_name>
1

当前分支合并其他分支
git merge <branch_name>
1

远端新建分支,其实就是将本地分支推送至远端
git push origin <local_branch_name>:<remote_branch_name>
1

删除远端分支,其实就是推送了一个空的分支到远端覆盖了原来的远端分支
git push origin :<remote_branch_name>
1

从远端拉取分支,并建立对应关系
git checkout -b <local_branch_name> origin/<remote_branch_name>
// 或者
git branch —track <local_branch_name> origin/<remote_branch_name>
1
2
3

本地已经存在的分支和远端分支建立对应关系
git branch —set-upstream <local_branch_name> origin/<remote_branch_name>
1

添加远端库
git remote add <远端库代称> <远端库地址>
git clone <远端库地址> <目录>   //不需要git init
1
2

回滚到某一个提交版本
git reset --hard/soft <commit_id> // 回滚到某一个版本
git reset --hard/soft HEAD~<num> // 回滚num个提交
git revert <merge_commit_id> -m number // 撤销某一次merge
1
2
3

强制远端覆盖本地
git fetch --all
git reset --hard origin/<remote_branch_name>
1
2

提交日志查看方式
git log -p 每一次提交具体差异
git log —stat 显示文件修改差异,没显示具体修改
git log —graph 树形状提交记录,可查看分支合并信息
1
2
3

git pull —rebase
有冲突后,解决冲突,使用 
git
add .
然后使用
git rebase --continue


切换到某个分支,将其他分支的某次提交应用到该分支
git checkout <branch_name>
git cherry-pick <commit id>
1
2

前者表示把到之间(左开右闭,不包含start-commit-id)的提交cherry-pick到当前分支;后者表示把到之间(闭区间,包含start-commit-id)的提交cherry-pick到当前分支。
git cherry-pick <start-commit-id>..<end-commit-id>
git cherry-pick <start-commit-id>^..<end-commit-id>
1
2

tag

新建tag
git tag <tag_name> //轻量标签
git tag -a <tag_name> -m "tag_msg" // 附注标签
git tag -a <tag_name> <commint_id> // 给某次提交添加标签
1
2
3

删除tag
git tag -d <tag_name>
1

查看tag
git tag // 查看所有tag
git show <tag_name> // 查看某条tag
1
2

提交到远端
git push origin <tag_name> // 将某个tag提交到远端
git push origin –tags // 将所有tag提交到远端
1
2

branch相关指令
git branch -d <branch_name> // 删除某个分支
git branch -D <branch_name> // 强制删除某个分支
git branch -avv // 查看本地分支与远端分支关系,并且显示分支最新一次提交信息
git remote show origin // 查看远端分支间关系



转载注明出处:http://blog.csdn.net/xiaohanluo/article/details/53214933

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: