Git笔记

1. 新建Git仓库
git init
2. 文件添加到仓库
git add read.txt
3. 文件提交到仓库
git commit -m "comment"
4. 查看仓库的状态
git status
5. 查看文件的状态
git diff read.txt
6. 查看历史命令
git log
如果嫌输出的东西太多可以加上
  git log --pretty=oneline
7. 返回上一版本
git reset --hard HEAD^
8. 返回某一版本
git reset --hard 3628164
9. 查看每个操作的commit id
git reflog
10. 基本流程
  1. 当初始化版本库的时候,创建唯一的一个master分支
  2. Git中有工作区,暂存区(stage),分支
  3. git add将文件加入暂存区
  4. git commit将暂存区的修改加入分支之中
11. 丢掉工作区的修改
git checkout -- readme.txt

如果没有--就变成切换成另一个分区,其实就是用分支中的数据替换工作区的数据

12. 撤销暂存区的修改
git reset HEAD readme.txt

如果文件已经add了,而没有commit,可以将暂存区的修改撤销到工作区

13. 删除文件
git rm readme.txt
14. 创建SSHKey
ssh-keygen -t rsa -C "[email protected]"
15. 将本地库推与远程库关联
git remote add origin [email protected]:michaelliao/learngit.git

远程库的默认名字是origin,下一步可以将本地库推送到远程库

git push -u origin master

git push的格式如下

git push <远程主机名> <本地分支名>:<远程分支名>

git push origin master省略了远程分支名,将本地的master分支推送到远程主机的master分支。
git push origin :master省略了本地分支名,推送一个空的本地分支到远程主机的master分支,等同于删除了远程主机的master分支。
git push origin将本地分支推送到origin主机的对应分支。
git push -f利用强覆盖方式用你本地的代码替代git仓库内的内容。

将本地库master分支推送到远程库

16. 从远程库克隆
git clone [email protected]:michaelliao/gitskills.git
17. 新分支
git checkout -b dev

创建新分支dev,并且切换到新分支dev,相当于下两条命令

git branch dev
git checkout dev

git branch 可以查看当前的分支情况
git merge dev 将dev分支合并到master上
git branch -d dev 删除dev分支

18. 多个ssh-key管理

新建ssh-key


新建ssh-key.png

此时不要使用默认路径可以使用~/.ssh/id_rsa_donin。
执行以下命令

git add id_rsa_donin

在.ssh目录下创建新的文件

# ~/.ssh/config
Host donin
    HostName github.com
    User donin
    IdentityFile ~/.ssh/id_rsa_donin
#Second GitHub
Host def
    HostName github.com
    User ecloud
    IdentityFile ~/.ssh/id_rsa

在git项目文件夹下执行

#取消全局设置
git config --global --unset user.name
git config --global --unset user.email
git config  user.email "[email protected]"
git config  user.name "donin"

关联项目的时候

#用donin替换域名github.com
git remote add origin git@donin:first/test-first.git

你可能感兴趣的:(Git笔记)