mac下git安装和使⽤
1、下载git客户端,下载地址为:
2、打开安装包,可以看到此时的界⾯为:
我们需要把.pkg的安装包安装到系统当中。我双击了安装包之后,结果⽆法安装成功。界⾯为:
这⾥是⼀个坑,虽然是很简单的问题的,但是对于新⼿⽽⾔有时候还是头疼的。后来,在⽹上终于到原因,由于这个需要权限,所以直接点击安装是⽆法成功的。⽅式是按住control键之后,再点击pkg⽂件。这个时候会弹出安装程序的界⾯。如
所⽰。然后选择打开,就可以完成安装了。
安装好Git后,配置⽤户名和⽤户邮箱,以后每次与Git的交互都会使⽤该信息。
git config --global user.name "your_name"
git config --ail "your_email@gmail"
查看Git的配置信息指令
git config --list
3)创建ssh
⽣成SSH key,输⼊密码
$ ssh-keygen -t rsa -C jonezhang86@gmail(注册的main邮箱)
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/jiangbo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in yes.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
fb:c4:b0:e0:47:fd:be:e0:fb:ea:73:ef:a8:29:d5:22 jonezhang86@gmail
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| . |
| . S .. |
| . oE=o.. |git常用指令
| . +o+.. |
| ..+.+.. |
| oOB=+o |
+-----------------+
显⽰隐藏的⽂件
shift+cmmand+.
输⼊cd指令,进⼊当前⽤户⽬录
输⼊ls -a指令,查看当前⽤户⽬录下所有⽂件,包括隐藏⽂件
输⼊cd .ssh指令,进⼊.ssh⽬录
输⼊ls指令,查看.ssh⽬录下的⽂件
输⼊cat id_rsa.pub指令,查看id_rsa.pub⽂件中内容
4)将SSH key添加到coding上
a、打开终端,输⼊open ~/.ssh,查看id_rsa.pub这个⽂件并打开拷贝key值
b、打开coding官⽹,登录成功后,点击账户-SSH公钥,输⼊a步拷贝的值,点击提交
远端仓库添加密钥
以GitHub为例⼦,向远端仓库添加公钥,上⾯已经获取到了公钥,只需要将公钥添加到远端仓库就可以了。
图-1 添加公钥
在个⼈设置页⾯,左边选中SSH and GPG keys,在右边添加公钥,title是key的名称,可以随便取,可更改,key是上⾯我们获取到的公钥,填写完毕后点击add SSH key按钮,这样远端就添加到了密钥。
本地关联远端仓库
在本地⽂件夹下⾯执⾏git init指令,初始化⽂件夹,作为本地的⼀个仓库。
执⾏git remote add origin 仓库的ssh链接
执⾏git pull指令,将远端代码拉取到本地
执⾏完毕后,远端仓库代码已经同步到了本地。
常⽤Git指令
初始化配置
git config --global user.name “XXX"
git config --ail “XXXX"
设置⼤⼩写敏感
git config core.ignorecase false
⽣成密钥
ssh-keygen -t rsa -C “your_email”
将远端代码clone到本地⽬录
git clone <;远端git> <;本地⽬录>
提交修改
git add <⽂件> // 将有修改的⽂件添加到本地缓存中 git add . 是添加所有修改
git commit -m "本次修改信息" // 提交本次修改,⼀般是在git add之后操作
git reset . // 撤销add
git rm --cached . // 撤销add
切换分⽀
git checkout <branch_name>
以当前分⽀为蓝本新建分⽀并切换到新分⽀
git checkout -b <branch_name>
当前分⽀合并其他分⽀
git merge <branch_name>
远端新建分⽀,其实就是将本地分⽀推送⾄远端
git push origin <local_branch_name>:<remote_branch_name>
删除远端分⽀,其实就是推送了⼀个空的分⽀到远端覆盖了原来的远端分⽀
git push origin :<remote_branch_name>
从远端拉取分⽀,并建⽴对应关系
git checkout -b <local_branch_name> origin/<remote_branch_name>
// 或者
git branch —track <local_branch_name> origin/<remote_branch_name>
本地已经存在的分⽀和远端分⽀建⽴对应关系
git branch —set-upstream <local_branch_name> origin/<remote_branch_name>
添加远端库
git remote add <;远端库代称> <;远端库地址>
git clone <;远端库地址> <⽬录> //不需要git init
回滚到某⼀个提交版本
git reset --hard/soft <commit_id> // 回滚到某⼀个版本
git reset --hard/soft HEAD~<num> // 回滚num个提交
git revert <merge_commit_id> -m number // 撤销某⼀次merge
强制远端覆盖本地
git fetch --all
git reset --hard origin/<remote_branch_name>
提交⽇志查看⽅式
git log -p 每⼀次提交具体差异
git log —stat 显⽰⽂件修改差异,没显⽰具体修改
git log —graph 树形状提交记录,可查看分⽀合并信息
git pull —rebase有冲突后,解决冲突,使⽤git add .然后使⽤git rebase --continue
切换到某个分⽀,将其他分⽀的某次提交应⽤到该分⽀
git checkout <branch_name>
git cherry-pick <commit id>
前者表⽰把到之间(左开右闭,不包含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>
tag
新建tag
git tag <tag_name> //轻量标签
git tag -a <tag_name> -m "tag_msg" // 附注标签
git tag -a <tag_name> <commint_id> // 给某次提交添加标签
删除tag
git tag -d <tag_name>
查看tag
git tag // 查看所有tag
git show <tag_name> // 查看某条tag
提交到远端
git push origin <tag_name> // 将某个tag提交到远端
git push origin –tags // 将所有tag提交到远端
branch相关指令
git branch -d <branch_name> // 删除某个分⽀
git branch -D <branch_name> // 强制删除某个分⽀
git branch -avv // 查看本地分⽀与远端分⽀关系,并且显⽰分⽀最新⼀次提交信息
git remote show origin // 查看远端分⽀间关系
5)建⽴本地仓库并初始化
1、命令⾏打开本次仓库的⽂件夹⽬录或者直接创建
cd !/(⽬录)
2、仓库初始化
git init
3、将项⽬克隆到本地仓库
git clone URL(项⽬的SSH地址)
4、更新远程更新到本地:
先打开本地仓库的⽬录,要是程序⽂件夹的⽬录
然后输⼊更新代码命令,如下所⽰:
git pull
5、提交代码
git add .
git commit -m “描述”
git push origin master
常见问题记录FAQ
1.git pull代码的时候报如下错:
error: Your local changes to the following files would be overwritten by merge:
Please, commit your changes or stash them before you can merge.
这表⽰更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来
解决⽅法:先将本地内容存储起来,运⾏命令:git stach
再git pull 即可
2、git pull的时候报如下错:
fatal: No remote repository specified. Please, specify either a URL or a
remote name from which new revisions should be fetched.
问题:打开的路径不对
解决⽅法:打开本次仓库的正确路径,在更新代码
结束语
本篇粗略的介绍了Git的使⽤,但是对于Git内部的实现和⼀些具体的使⽤⽅法,还是需要⾃⼰去深⼊的了解。关于Git的详细介绍和⼯作原理,可以查看以下连篇⽂章。
,⾥⾯有介绍到Git的⼯作原理,可以仔细阅读。
介绍了Git具体使⽤,这本书也是关于Git的⼀本好书。
,实战练习Git的各种指令。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论