# learn_git **Repository Path**: mds2016/learn_git ## Basic Information - **Project Name**: learn_git - **Description**: 学习git - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-12-26 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 学习教程 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 git源码下载 https://github.com/git/git git命令 -到建立的文件夹总,执行git init -建立文件,执行git add -git commit -m "提示内容" -git status 查询git状态 -git diff [file_name] 查看修改内容,如果不写文件名代表看所有修改 -修改后要先git add 才能 git commit -git log 查看记录 可以加--pretty=oneline参数简化信息 -git reset --hard HEAD^ 回退一个版本 -git reflog可以记录所有的操作,通过这个查看commit_id信息后就可以用 -git reset --hard commit_id 来恢复到任意版本 -修改后文件在工作区,git add后文件修改会进入暂存区,git commit只是把暂存区内容提交 -git checkout -- (注意两个空格)可以丢弃工作区的修改 -git reset HEAD 可以把暂存区内容放回工作区 -git rm 并且提交,删除 -手动删除某个文件后,用git add -A添加修改 远程仓库: -ssh-keygen -t rsa -C "jyembed@foxmail.com" 会在C:\Users\Administrator\.ssh下生产两个文件 id_rsa和id_rsa.pub,把id_rsa.pub内容粘贴到git网站的设置下。 -产生新的仓库,写入名字比如learngit,其它默认即可 -到项目目录下,git remote add origin git@github.com:coffeefuture/learngit.git 和 git push -u origin master即可提交现存的项目 -以后本地提交后,可用 git push origin master 命令提交到github -git clone git@github.com:coffeefuture/gitskills.git 可以克隆出gitskill项目的源码 分支管理: -git checkout -b dev:创建新的分支 =git branch dev+git checkout dev -git branch 列出所有分支并用*标注当前分支 -git checkout master 切换回name的分支名 -git merge 把name分支合并到主分支 -git branch -d 删除name的分支 -git log --graph --pretty=oneline --abbrev-commit 可以看到分支合并图 bug分支 --git stash 把当前工作现场“储藏”起来,等以后恢复现场后继续工作 --git stash list 查看保存的现场 --git stash apply并用git stash drop删除工作现场 --git stash pop 恢复并删除 --git stash apply stash@{0}恢复指定的现场 因此,多人协作的工作模式通常是这样: 首先,可以试图用git push origin branch-name推送自己的修改; 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并; 强制更新: git fetch --all git reset --hard origin/master 如果合并有冲突,则解决冲突,并在本地提交; 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功! 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建, 用命令git branch --set-upstream branch-name origin/branch-name。 这就是多人协作的工作模式,一旦熟悉了,就非常简单。 本人惯用别名 git config --global alias.st status git config --global alias.ci commit git config --global alias.cie "commit -m "empty"" git config --global alias.br branch git config --global alias.ch checkout git config --global alias.cm "checkout master" git config --global alias.po "push origin" git config --global alias.pom "push origin master" git config --global alias.pod "push origin dev" 而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中: C:\Users\jy github上更新自己fork的仓库(以dcloudio为例,先拉取再提交): git pull git@github.com:dcloudio/mui.git master git push origin master 不知道还有什么好方法吗,感觉不如osc上简单 git config --global user.email "1075518049@qq.com" git config --global user.name "浓咖啡"