# learngit **Repository Path**: wsske/learngit ## Basic Information - **Project Name**: learngit - **Description**: 学习git操作 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-30 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 第一次提交,多多见谅 ## git常用命令 1.git init:新建一个目录,将其初始化为Git代码库 ``` git init [project-name] ``` 2.git clone: 下载一个项目和它的整个代码历史 ``` git clone [url] ``` 3.git pull:把远程库的修改拉取到本地 ``` git pull <别名> <分支名> tip:该命令包括git fetch,git merge ``` git pull origin master origin代表的是你远程的仓库,master是分支名 同步,也可以称之为拉取,在Git中是非常频繁的操作, Git的所有仓库之间是平等的,所以,为了保证代码一致性,尽可能的在每次操作前进行一次同步操作 git 会自动合并,有冲突需要手动处理 4.git push: 本地库某个分支推送到远程库,分支必须指定 ``` git push <别名> <分支名> git push origin master ``` 和拉取一样,也是一个非常频繁的操作,当你代码有更新时,你需要更新到远程仓库,这个动作被称之为推送,执行的命令与拉取一样,只是将其中的pull这个单词改成push,同样,如果远程仓库存在你本地仓库没有的更新,则在推送前你需要先进行一次同步,如果你确定你不需要远程的更新,则在推送时加上 -f 选项,则可以强制推送,注:在协同开发中,我并不建议这么做,因为这样很可能覆盖别人的代码 5.git merge:将抓取下来的远程的分支,跟当前所在分支进行合并 ``` git merge <远程库别名/远程库分支名> ``` 合并这个命令通常情况下是用于两个分支的合并,一般用于本地分支,远程分支多用Pull命令,该命令的功能是将待合并分支与目标分支合并在一起,注意,这个命令只会合并当前版本之前的差异,两个分支的提交历史会根据提交时间重新组织索引,故只可能会产生一次冲突但是会生成一个提交,如果你不想生成这次提交,加上 --base参数即可 分支的概念: ``` 这是Git中最重要的也是最常用的概念和功能之一,分支功能解决了正在开发的版本与上线版本稳定性冲突的问题在Git使用过程中,我们的默认分支一般是Master,当然,这是可以修改的,我们在Master完成一次开发,生成了一个稳定版本,那么当我们需要添加新功能或者做修改时,只需要新建一个分支,然后在该分支上开发,完成后合并到主分支即可 ``` 本地分支演示: ``` git status git log git merge dev git log ``` 远程分支演示: ``` git status git log git pull origin master git log ``` 6.git log:查看历史提交 ``` tip:空格向下翻页,b向上翻页,q退出 ``` 7.git reset:版本回退 ``` git reset --hard 回退到当前版本(放弃所有修改) get checkout sample.txt 放弃某一个文件的修改 ``` 参考: https://gitee.com/help/articles/4196#article-header2 https://www.liaoxuefeng.com/wiki/896043488029600