wls-branch this is a git learning text process. I hope I can use git to control all my experiments. fighting! first, mkdir a dir, then git init this dir. then you can add files, then you can commit. 1) 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件; 第二步,使用命令git commit,完成。 mkdir learngit cd learngit git init touch readme git add readme git commit -m 'add a readme file' 2) 要随时掌握工作区的状态,使用git status命令。 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。 change readme git status git diff git add readme git commit -m 'changed the file readme' 3) HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。 git log git log --pretty=oneline git reset --hard head^ git reset --hard head~100 git reset --hard commitid, eg. 0d7911 git reflog 4) 暂存区是Git非常重要的概念,弄明白了暂存区,就弄明白了Git的很多操作到底干了什么 learngit就是一个工作区,而该工作目录下的.git才是git的版本库。其中.git下的index就是 暂存区,所有commit之前的操作比如add file等add的file基本都放在这个index里。很多操作 放在index中后,就可以一次性commit提交到我们的master这个分支里去。 5) Git是如何跟踪修改的,每次修改,如果不add到暂存区,那就不会加入到commit中。 6) 撤销修改 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。 7) 从版本库种删除文件 命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删, 但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。 git rm licence git commit -m 'delete licence from the git version contrl dir'