Git常用指令的笔记,用于git日常操作
安装Git
首先在电脑上装一个Git吧,地址:https://git-scm.com/download
Git的初始设置
设置姓名和邮箱地址
git config --global user.name "your_name"
git config --global user.email "your_email@example.com"
提高可读性
git config --global color.ui auto
查看设置
git config --global --list
GitHub设置
创建一个GitHub账户
设置SSH Key
在Git中运行下面命令创建SSH Key:
ssh-keygen -t rsa -C "your_email@example.com"
——邮箱地址使用创建账户的邮箱,此步骤需要设置密码,在以后需要认证时会用到。
生成的id_isa文件时私有密钥,id_rsa.pub是公开密钥。
查看id_rsa.pub的内容:
cat ~/.ssh/id_rsa.pub
GitHub中添加公开密钥
Setting ——> SSH and GPG keys ——> New SSH Key ——> (在Title中输入适当的密钥名称。Key部分粘贴isa_pub文件中的内容,不加最后的邮箱) ——>Add SSH Key.
开始使用
创建新的仓库 ——> New repository(for example: Hello-World)
将远程仓库克隆到本地
git clone git@github.com:user_name/Hello-World.git
cd Hello-World
常用命令
git init
:初始化仓库。
git status
:查看仓库状态。
git add hello_world.py
:将文件加入暂存区。(暂存区是提交之前的一个临时区域)。
git commit -m "Add hello_world.py"
:保存仓库的历史记录。
git log
:查看提交日志。(只显示提交信息的第一行git log --pretty=short
)。
git diff
:查看工作树和暂存区的差别。
git diff HEAD
:查看工作树和最新提交的差别(HEAD是指向当前分支中最后一次提交的指针)。在执行 git commit
之前查看本次提交和上次提交之间的差别,等确认完毕后再提交。
git push
:更新GitHub上的仓库。
(add——>commit——>push)
更改提交的操作——版本回退
git reset
:回溯历史版本。
要让仓库的HEAD、暂存区、当前工作树回溯到指定状态,需要用到
git reset --hard commit_id
命令,commit_id是目标时间点的哈希值。
git log
命令只能查看以当前状态为终点的历史日志,所以要使用git reflog
命令,查看当前仓库的操作日志。在日志中找出回溯历史之前的哈希值。
git reset --hard HEAD^
回退到上一个版本。HEAD指向的版本就是当前版本。
撤销修改
git checkout -- file
可以丢弃工作区的修改。让文件回到最近一次git commit
或者git add
时的状态。(主要 --
,没有的话就是切换分支的指令了,下一小节会提到)。——适用于丢弃工作区的修改。
git reset HEAD file
也可以把暂存区的修改回退到工作区。——适用于丢弃暂存区的修改。
git reset --hard commit_id
版本回退——适用于撤销本次提交。
删除文件
git rm file
:删除文件
git checkout -- file
:恢复误删文件
分支操作
git branch
:显示分支一览表。
git checkout -b
:创建、切换分支。
git checkout -b feature-A
相当于git branch feature-A
+ git checkout feature-A
git merge --no-ff feature-A
:将feature-A
分支合并到当前分支,并且在历史记录中明确记录下本次分支合并。
git log --graph
:以图表形式查看分支。
合并时可能会产生冲突,消除冲突需要查看冲突部分并将其解决。冲突解决后,执行git add
和git commit
命令。
git branch -d feature-A
删除分支。
git branch -D feature-A
强行删除没有合并的分支。
BUG分支——修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;当手头工作没有完成时,先把工作现场git stash
一下,然后去修复bug,修复后,再git stash pop
回到工作现场。
git stash
将当前工作现场储藏起来,等以后恢复现场后继续工作。
git stash list
查看工作现场
git stash apply
恢复git stash apply stash@{0}
git stash pop
恢复的同时也把stash内容也删了。
推送到远程仓库
git remote add
添加远程仓库。
git remote add origin git@github.com:user_name/repository_name.git
git push
推送至远程仓库。
git push -u origin master
从远程仓库获取
git clone
获取远程仓库。
git checkout -b feature-D origin/feature-D
获取远程的feature-D分支
git diff
git commit -am "Add feature-D"
git push
git pull
获取最新的远程仓库分支。
git pull origin feature-D
参考《GitHub入门与实践》
廖雪峰的Git教程