git学习笔记
1. git安装完成之后,首先使用
git config --global user.name "Your Name" git config --global user.email "email@example.com"
设置个人信息
2.在某个目录下用git init命令创建版本库,可以从空目录创建,也可以在已有项目中创建。
3. git add命令可以添加文件到git仓库。每次修改后都需要add一下文件。这一步的实质是把文件提交到暂存区。
4. git commit用于在修改文件后提交文件到仓库,格式一般为
git commit -m "comments"
括号里的comments即为添加的注释。
这一步实质是把暂存区的文件提交到当前分支,没有add的修改不会提交。
5. git status可以查看当前状态.
对于修改了且已经add的文件,git会显示
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
而对于修改了没有add的文件,git会显示
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
6. git diff用于查看还没有add的文件与已经add的文件的区别(包括已经commit的文件)
7. git log 可以查看commit的历史记录,在上方的是后提交的。
8.
git reset --hard HEAD^
命令可以退回上一个版本。其中HEAD^表示最新版本的上一个版本,HEAD为最新版本。
git reset --hard commitID
可以退回到指定的commit ID的版本,这个id在git status中查看,只需要输入前几位即可。这个命令可以向前移动也可向后。
9. git reflog可以查看执行过的每一个命令,同样会显示id。
10. git checkout -- file可以撤销工作区在git add或者git commit后的最后一次修改。注意--后有空格。
11. git reset HEAD file可以撤销暂存区(已经add)的修改,回到工作区
12. 删除文件之后,如果要从git中删掉,需要git rm然后git commit;如果要恢复使用git checkout -- file
13. 在使用远程git之前,需要先在本地创建SSH key,命令
ssh-keygen -t rsa -C "youremail@example.com"
会创建一个.ssh目录,里面有私钥id_rsa和公钥id_rsa.pub,其中私钥不可泄露。要在github上使用,需要先把公钥添加到github的ssh key列表中。
14.通过
git remote add origin git@github.com:netaddi/learngit.git
或者
git remote add origin https://github.com/netaddi/learngit.git
将远程库关联到本地,其中origin为远程库的本地名称。
15.关联之后,通过
git push -u origin master
命令,可以将当前分支master推送到远程仓库,-u表示把本地master分支和远程master分支关联。之后远程推送不需要再加入-u参数。
16.从远程仓库克隆:
git clone git@github.com:netaddi/learngit.git
或者
git clone https://github.com/netaddi/learngit.git
17. 创建并切换新分支:
git branch branchname创建新分支
git checkout branchname 切换到新分支
git checkout -b branchname
这个命令相当于以上两个。
git branch可以查看当前分支。
切换之后,在当前分支可以正常提交。如果切换到别的分支,那么在之前分支上编辑的内容是看不到的。
要合并两个分支,使用git merge branchname 命令。
默认合并是fast forward模式,删除分支后会丢掉历史信息,也会丢掉历史信息。如果使用--no-ff则可以禁用ff模式,在merge时会生成新的commit,从分支历史上可以看到分支信息。
git branch -d branchname删除某个分支
在遇到冲突的时候,需要手动解决冲突再提交。
git log --graph可以以图的形式查看分支。
18. git stash命令可以把当前分支储藏起来,回到commit之后的环境。
需要恢复时,用git stash list命令可以看stash了哪些,git stash apply可以恢复,drop删除,pop恢复并删除。
19. git remote可以查看远程仓库的信息,加入-v参数可以查看更详细的信息。