Git小结

355 阅读2分钟

前言

整理一下常用的Git操作,方便之后查阅

先设置全局的name与email

git config --global user.name "...."
git config --global user.email "...."
// 查看设置的name与email
git config --list

一、基础概念

  • 1.git的服务器端remote端包含多个repository,每个repository可以理解为一个项目。而每个repository下有多个branch。origin是远程仓库repository的名字,这是git的默认叫法

  • 2.git clone是把remote repository拷贝一个副本到local repository。在clone完成之后,Git 会自动为你将此远程仓库命名为origin

  • 3.git add 把修改的文件添加到暂存区

  • 4.git commit 把暂存区的所有内容提交到本地仓库(当前分支)

  • 5.git push A B:C 其中A和C是分别remote端的一个repository的名字和branch的名字,B是本地端branch的名字 意思是把本地的B推送到remotes/A/C下。当B=C时可以直接省略为:git push A B。

"git push origin master:master" 可以直接省略为"git push origin master".

(在local repository中找到名字为master的branch,使用它去更新remote repository下名字为master的branch,如果remote repository下不存在名字是master的branch,那么新建一个)

二、SSH公钥

1.生成SSH公钥

$ ssh-keygen

2.查看SSH公钥

$ cd ~/.ssh
$ ls
id_rsa      id_rsa.pub      known_hosts

id_rsa是私钥,id_rsa.pub是公钥。 输入cat ~/.ssh/id_rsa.pub查看公钥

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDX04RRzxYSDH7tBs6jX1waV4DvESMAzVKw
akw9WGNb4OjEYVnark05ycrSf0T9PK4RJQTn3hkGfnsGQ9TnuTZp+VGrEeQEHy4a+UHF8dIG
abhXeTXSw1ywULKzuH1+H5vQuD/zez97An3xi2pv2l4CoLBcM3RJZmxLQISCq/SoC50tuo+B
cW4tVXy4dOia632j+1/wHCwYOxunUtbkoMM4mJKcKZkk+dT5hTJI17Nca4+WKxNaI11WU8O8
jB4Gbrk9d/6HM3G38rlEsSNCDuJIQBlCy+8a2TaQuVf8ZK7IiU09lUhY+eMEJWYyM/6CkJeI
x/DhTcQ4x5pxK6l 2694@qq.com

3.设置公钥

  • 1.打开GitHub,点击Settings,点击左侧SSH and GPG keys

  • 2.点击New SSHkey,设置title和key

三、关联本地仓库和远程仓库

1.建立Git仓库--CD到项目目录下,输入git init

$ git init
Initialized empty Git repository in C:/Users/mark/Desktop/git_summary/.git/

2.将项目的所有文件添加到暂存区(如开篇首图把本地工作区添加到暂存区)

//如果想添加某个特定的文件,只需把.换成特定的文件名即可
$ git add . 

3.将add到暂存区的文件commit到本地仓库

$ git commit -m 'first commit'
[master (root-commit) 74121d0] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.txt

4.在GitHub创建自己的new repository

5.复制github上新建项目的SSH地址,将本地仓库关联到github上

$ git remote add origin git@github.com:huoxiaozhen/test.git

6.关联远程仓库之后,就可以把本地库的所有内容推送到远程库上

// 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
$ git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 209 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:huoxiaozhen/test.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

7.总结

git init
git add .
git commit -m 'first commit'
git remote add origin git@github.com:huoxiaozhen/test.git
git push -u origin master

四、创建和合并分支

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

新建一个同名的远程分支:git push origin <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>