git常用的命令:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
删除工作区的文件:rm <dom_name>
删除版本库中的文件:git rm <dom_name>
提交版本库:git commit -m "描述";
查看库中所有的文件: git ls-files;
查看库中所有的文件夹: dir
本地库提交到远程git仓库:git push -u origin master(本地分支名):
拉取远程库的文件到本地库: git pull origin master;
关联远程git库:git remote add origin git@github.com:GitHub账号/learngit.git:关联远程git库;
修改远程仓库地址:git remote rm origin >git remote add origin [url]
查看你当前项目的远程git地址:git remote -v;
查看远程的所有分支列表:git branch -a
创建一个版本库:mkdir learngit
查看版本库的地址:pwd
把这个目录变成Git可以管理的仓库:git init
使用git在本地创建一个项目的过程
$ makdir ~/hello //创建一个项目hello
$ cd ~/hello //打开这个项目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit -m 'first commit' //提交更新,并注释信息“first commit”
$ git remote add origin git@github.com:gitName/hello-world.git //连接远程github项目
$ git push -u origin master //将本地项目更新到github项目上去
删除本地仓库的文件夹:
rm -r 文件夹名
git add 文件夹名
git commit -m "":更新工作区;
删除远程仓库的文件夹:
删除target文件夹 :$ git rm -r --cached target
提交,添加操作说明 :$ git commit -m '删除了target'
将本次更改更新到github项目上去 :$ git push -u origin master
回退到历史版本;git reset --hard HEAD^ 所以写成HEAD~100。
指定回到未来的某个版本:git reset --hard 3628164
撤销工作区修改:git checkout -- readme.txt
把存进暂存区的退回到工作区:git reset HEAD readme.txt
“储藏”当前工作现场:git stash;
查看“储藏”的工作区:git stash list;
删除“储藏”的工作区:git stash drop;
恢复“储藏”的工作区并删除stash中的内容:git stash pop; 恢复指点的stash:git stash apply stash@{n};
强制删除未合并的分支:git branch -D <name>;
创建远程origin的dev分支到本地:git checkout -b dev origin/dev
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
建立标签:git tag 《name》;
查看所有标签:git tag;
查找所有历史的commit id:git log --pretty=oneline --abbrev-commit
给对应commit打标签:git tag <name> commit_id;
查看标签信息:git show <tagname>
创建带有说明的标签,用-a指定标签名,-m指定说明文字:$ git tag -a v0.1 -m "version 0.1 released" 3628164
删除本地标签:git tag -d tag_name;
推送指定标签到远程:git push origin tag_name;
推送所有标签到远程:git push origin --tags;
删除远程标签:git push origin :refs/tags/tag_neme;
注意:
1.创建分支的时候工作区必须是干净的;(“储藏”当前工作现场,从而得到干净工作区创建分支解决bug)
2.如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name(git branch --set-upstream-to=origin/master master)。
3.在GitHub上配置了对应电脑的SSHkey后,对应电脑上的git才能推送到远程仓库;
4.本地库可以关联多个远程库,但是每个远程库的名称必须不一致;
5.在多人协助开发时,每个开发人员在推送自己的最新版本时,都需要确保当前版本是最新的,所以就需要先获取最新版本,也就是说需要从服务器拉取最新版本到本地。需要使用 git pull命令;然后再次使用 git push 命令推送至服务器。
6.其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容