首先推荐一个非常详细且清楚的git教程: http://segmentfault.com/a/1190000002413519
常用指令:
-----------将修改提交到工作区,这里的xxx只特定的某个文件或者包名。
git add xxx
-----------commit 之前 撤销add 文件
git reset HEAD xxx
-----------提交到本地仓库,后面是注释。
git commit -m 'message'
-----------把本地仓库中修改的内容提交到origin远程仓库的develop分支上。
git push origin develop
-----------取消远程上的commit 操作。
首先 git log 查看历史记录,复制要回退到的提交记录的哈希值
然后 git reset --soft 哈希值 ,可以软回滚到之前的提交位置
然后 git push origin develop --force 将本次变更强行推送至服务器
--soft是软回滚会保留现在的代码,--hard是硬回滚会丢失现在的代码
-----------拉去远程仓库upstream的develop分支上最新的代码。
git pull upstream develop
如果文件有冲突,会提示用stash或者commit。
-----------存储工作区中的代码的更改记录到一个栈中。
git stash
-----------列出stash中所有的记录。
git stash list
-----------查看具体某一个记录中更改的代码的列表,比如stash@{0}。
git stash show stash@{0}
-----------恢复存储的文件的同时,也删除文件。
git stash pop stash@{0}
-----------恢复存储的文件,不删除文件。
git stash apply
-----------清除stash中的记录。
git stash clear
-----------使用了git stash clear 也可以找回stash中代码的方法。
首先 git fsck --lost-found 会列出本地仓库中的记录,大概长这样
然后 git show 7a8065d9 可以看到详细的记录信息,如果找到了正好就是这一条
然后 git merge 7a8065d9 就能找回代码了。
如果觉得记录太多找不到的话,可以打开.git/logs/HEAD文件,里面 能看到操作日志,找起来更容易。
-----------得到具体某个文件的每一行的详细修改信息,包括SHA串,日期和作者。
git blame [filename]
-----------查看所有的操作。
git reflog