Git命令行的使用

什么是git

Git是目前世界上最先进的分布式版本控制系统(没有之一),用于敏捷高效地处理任何或小或大的项目。

远程仓库

创建公开密钥认证所需的ssh key

$ ssh-keygen -t rsa -b 4096 -c "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key
(/Users/your_user_directory/.ssh/id_rsa): 按回车键
Enter passphrase (empty for no passphrase): 输入密码
Enter same passphrase again: 再次输入密码

id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。

添加公开密钥

登录github,点击右上角头像,选择Settings,再点击SSH and GPG keys,设置SSH keys。点击New SSH key 把id_rsa.pub 文件里的内容添加进去。完成以上设置后,就可以用手中的私人密钥GitHub 进行认证和通信了。

$ ssh -T [email protected]
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is fingerprint值 .
Are you sure you want to continue connecting (yes/no)? 输入yes
Hi hirocastest! You've successfully authenticated, but GitHub does not
provide shell access.

配置

git config --global user.name xxx #方便产品经理找(怼)你
git config --global user.email yyy #方便产品经理找(怼)你
git config --global push.default simple 
git config --global core.quotepath false #防止文件名变成数字
git config --global core.editor "vim" #使用vim编辑提交信息

这些配置都是在写 ~/.gitconfig 文件而已(--globa是指全局设置,应用于所以项目)

代码演示

mkdir git-demo
cd git-demo
git init
touch 1.txt # 编辑第一行文本
git status -sb
git add .
git status -sb
git commit -v
git remote add origin git@xxxxxxxx # 将当前仓库与远程仓库建立联系
git push -u origin master # -u 的意思是将本地分支与远程分支建立联系

基本操作

git init
创建 .git 目录(本地仓库)

git add
将 多行文字 纳入 git 控制范围(stage、历史的舞台)

git commit
存入 .git 目录

git log
展示历史

git show xxx(编号)
具体展现一个历史

git reset --hard xxx(编号)
回退到某个历史

git remote add xxx yyy
添加一个远程仓库,名字为 xxx,地址为 yyy

如果你要修改 yyy,可以使用 git remote set-url xxx zzz

git push
将 .git 上传到另一个目录

git clone
git clone 的作用

  1. 新建目录 xxx
  2. 解压远程 .git 目录到 xxx/.git

注:git clone 会帮你新建目录的!所以你别自己建目录!

git pull
更新本地仓库(.git)和本地文件

原则

git push 之前必须 git pull
git pull 之前必须 git commit
git commit 之前有时必须 git add

处理冲突

  1. git pull 获取最新内容
  2. git status查看当前状况(查看什么文件发生冲突)
  3. vi index.html(解决冲突内容)
  4. git add index.html
  5. git commit
  6. git push

更多学习git,推荐文章:http://blog.jobbole.com/78960/

你可能感兴趣的:(Git命令行的使用)