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参数可以查看更详细的信息。

 

posted @ 2016-08-02 23:29  网瘾君  阅读(155)  评论(0编辑  收藏  举报