【基本指令】 git init :使目标文件夹变成一个仓库 git add <文件名,含后缀> : 告诉git我要添加文件了 git commit -m "<提交说明>" :向仓库提交add的文件,并且写一个小说明,可以add很多文件后一起commit git log : 康康最近提交了啥,修改了啥,其中Head表示的是当前的版本,Head就是上个版本,Head^就是上上个版本,以此类推 git reset --hard HEAD^ :返回上一个版本(依据HEAD寻找) git reset --hard <版本号> :依据版本号回退/复原,只需要输入版本号前几位就可以了,git会自己去找 git reflog : 得到命令记录 git status : 查看状态 git checkout -- <文件名> : 删除工作区的修改 git reset HEAD <文件名> : 删除缓存区的修改 【远程仓库push和clone】 SSH Key 相关内容 : https://www./wiki/896043488029600/896954117292416 创建Github上面的仓库 : https://www./wiki/896043488029600/898732864121440 git remote add origin git@github.com:<用户名>/<仓库名> :关联远程仓库(实在不行Github仓库那里有提示) 关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名;
git push -u origin master : push内容到远程仓库中去 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
git push origin master : 关联后只要这样就可以push内容了 git remote -v :查看远程库信息 git remote rm <名字> : 解除远程库和本地库的关系 git clone git@github.com:<用户名>/<仓库名> : 从远程库克隆一份仓库到本地库 【分支】 git checkout -b <名字> :创建并切换到该分区,相当于这两条命令 ($ git branch dev $ git checkout dev) git branch : 查看当前分支 git merge:将当前分支合并至X分支 git branch -d:删除X分支 , 使用大写的D可以强行删除还未成果完成合并的分支(当然,这类情况发生的时候,git会提醒你的) 下面的更新后的更科学的switch切换 git switch -c:创建并切换到该分区 git switch:切换到X分支 git merge --no-ff -m "xxxxxxxxx"在no-ff模式下进行合并 git stash :存储当前的工作并隐藏,可以在之后恢复 git stash list : 查看已存储的工作现场 git stash apply : 恢复,恢复后不会删除stash git stash pop : 恢复,同时删除stash 这部分注意是用来处理bug的情况,详见廖老师的原教程 https://www./wiki/896043488029600/900388704535136
【远程仓库与多人协作】 git remote : 查看远程库的信息,使用 git remote - v 可以查看详细信息 git push <远程库名/一般是origin> <分支名> :推送,比如$ git push origin master 在默认情况下,远程clone下来的项目只可以得到master(主分支) git checkout -b <分支名> <远程仓库名>/<分支名> :建远程的某个分支到本地,比如 $ git checkout -b dev origin/dev git pull : 抓取最新的提交(比如你和同伴同时在dev上修改,此时就需要先把提交pull下来,然后合并分支,再继续修改) 推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送
这一部分可以详见廖老师的教程 https://www./wiki/896043488029600/900375748016320
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致; 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name; *git rebase : 使合并操作变“直”,感觉是不一定有必要的骚操作,廖老师教程:https://www./wiki/896043488029600/1216289527823648 【标签】 Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针 git tag: 给对应的分支打上标签,name就是名字,默认是给HEAD打标签 git tag<commit码> :给对应的commit码的修改打上标签 创建带有说明的标签,用-a指定标签名,-m指定说明文字。比如$ git tag -a v0.1 -m "version 0.1 released" 1094adb git tag : 查看所有标签 git show: 查看某个标签的信息 注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。
git tag -d:删除某个标签 git push origin:将某个标签推送至远程 git push origin --tags : 一次性推送所有尚未推送的标签 【结语】 七七八八也写了不少了,再次感谢廖雪峰老师的git教程! 总结相关 https://www./wiki/896043488029600/900062620154944 来源:https://www./content-4-905601.html
|