赞
踩
github是一款软件,用来高效管理数据,文件,项目。linux之父编写,有其自己的网站,分布式系统防止代码丢失,做备份项目的版本管理和控制,可以通过设置节点进行跳转建立各自的开发环境分支,互不影响,方便合并在多终端开发时,方便代码的相互传输。
sudu apt-get install git
工作区:自己正常操作的区域,pycharm支持github也可以在pycharm中使用
暂存区: 记录你的操作(增删改查)等操作。修改等待提交到本地仓库
仓库区: 由暂存区提交到的文件,不会丢失文件
远程仓库: 远程主机上的GIT仓库,可以从上边下载自己传入的文件和传入文件,起到随地都可以下载看和使用的便利。
**注意:首先需要在本地单独创建一个文件夹,在linux终端命令进入文件夹进行下边操作。**
配置命令:git config
配置所有用户: git config --system [选项]
配置文件位置: /etc/gitconfig
配置当前用户: git config --global [选项]
配置文件位置: ~/.gitconfig
配置当前项目: git config [选项]
配置文件位置: project/.git/config
配置用户名: git config --global user.name zhou
配置用户邮箱:git config --global user.email 2420026152@qq.com
查看配置信息:tarena@tedu:~/桌面/1906/git_1$ git config --list
user.name=zhou
user.email=2420026152@qq.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
file 表示忽略file文件
*.a 表示忽略所有 .a 结尾的文件
!lib.a 表示但lib.a除外
build/ 表示忽略 build/目录下的所有文件,过滤整个build文件夹;
file 表示忽略file文件
*.a 表示忽略所有 .a 结尾的文件
!lib.a 表示但lib.a除外这两个操作会修改工作区内容,同时将操作记录提交到暂存区
build/ 表示忽略 build/目录下的所有文件,过滤整个build文件夹;。
4.取消文件暂存记录 git rm --cached [file]
5.将文件同步到本地仓库: **git commit [file] -m [message]**file 不屑默认暂存区全部文件,message表示备注消息 例:```tarena@tedu:~/桌面/1906/git_1$ git commit -m’WR’
[master (根提交) c3418f2] WR 9 files changed, 101 insertions(+)
create mode 100644 Linux.pdf
create mode 100644 REANME.md
createmode 100644 Text
create mode 100644 tarena
create mode 10064tarena.pub
create mode 100644 test/core
create mode 100644test/levi
create mode 100644 test/zzz
create mode 100644 z
6.查看commit 日志记录:**git log git log --pretty=oneline** 7.比较工作区文件和仓库文件差异 ****git diff [file]`**** 8. 将暂存区或者某个commit点文件恢复到工作区 ** git add file** 9.移动或者删除文件 git mv [file] [path] git rm [files] 注意: 这两个操作会修改工作区内容,同时将操作记录提交到暂存区。 ### 6.版本控制 ##### 1. 退回到上一个commit节点 **Sgit reset --hard HEAD^** 注意 : 一个^表示回退1个版本,依次类推。当版本回退之后工作区会自动和当前commit版本保 持一致 ##### 2. 退回到指定的commit_id节点 **git reset --hard [commit_id]** ##### 3. 查看所有操作记录 **git reflog** 注意:最上面的为最新记录,可以利用commit_id去往任何操作位置 ##### 4. 创建标签 标签: 在项目的重要commit位置添加快照,保存当时的工作状态,一般用于版本的迭代。 **git tag [tag_name] [commit_id] -m [message]** 说明: commit_id可以不写则默认标签表示最新的commit_id位置,message也可以不写,但是最 好添加。 e.g. 在最新的commit处添加标签v1.0 git tag v1.0 -m '版本1' ### 5. 查看标签 **git tag 查看标签列表** **git show [tag_name] 查看标签详细信息** ##### 6. 去往某个标签节点 **git reset --hard [tag]** **7. 删除标签** git tag -d [tag] ### 保存工作区 1. 保存工作区内容 git stash save [message] 说明: 将工作区未提交的修改封存,让工作区回到修改前的状态 2. 查看工作区列表 git stash list 说明:最新保存的工作区在最上面 3. 应用某个工作区 git stash apply [stash@{n}] 4. 删除工作区 git stash drop [stash@{n}] 删除某一个工作区 git stash clear 删除所有保存的工作区 ### 分支管理 定义: 分支即每个人在原有代码(分支)的基础上建立自己的工作环境,单独开发,互不干扰。完 成开发工作后再进行分支统一合并。 1. **查看分支情况** git branch 说明: 前面带 * 的分支表示当前工作分支 2. **创建分支** git branch [branch_name] 说明: 基于a分支创建b分支,此时b分支会拥有a分支全部内容。在创建b分支时最好保持a分支"干 净"状态。 3. **切换工作分支** git checkout [branch] 说明: 2,3可以同时操作,即创建并切换分支 git checkout -b [branch_name] 4. **合并分支** file:///C:/Users/lvze/Desktop/markdown/项目综合/project.html 6/142019/12/10 project git merge [branch] 冲突问题是合并分支过程中最为棘手的问题 当分支合并时,原分支和以前发生了变化就会产生冲突 当合并分支时添加新的模块(文件),这种冲突可以自动解决,只需自己决定commit操作即 可。 当合并分支时两个分支修改了同一个文件,则需要手动解决冲突。 5. **删除分支** git branch -d [branch] 删除分支 git branch -D [branch] 删除没有被合并的分支 !![在这里插入图片描述](https://img-blog.csdnimg.cn/20191218210306118.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FtYml0aW9uX3N0YXI=,size_16,color_FFFFFF,t_70) **远程仓库** 远程主机上的git仓库。实际上git是分布式结构,每台主机的git仓库结构类似,只是把别人主机上 的git仓库称为远程仓库。 **GitHub介绍** github是一个开源的项目社区网站,拥有全球最多的开源项目。开发者可以注册网站在github建立 自己的项目仓库。 网址: github.com 代码管理工具:git **获取项目** 在左上角搜索栏搜索想要的获取的项目 选择项目后复制项目git地址 在本地使用git clone方法即可获取 git clone https://github.com/xxxxxxxxx 注意: 获取到本地的项目会自动和github远程仓库建立连接。且获取的项目本身也是个git项目。 创建删除git仓库 点击右上角加号下拉菜单,选择新的仓库 填写相应的项目信息即可 github仓库相对本地主机就是一个远程仓库 通过remote连接,如果需要输入密码输入github密码 即可。连接后即可使用远程仓库操作命令操作。readme文件会被自动作为项目介绍 如果是在自己的仓库界面选择settings,在最后可以选择删除仓库。 远程仓库操作命令 所有操作在本地git仓库下进行 **1. 添加远程仓库** git remote add origin https://github.com/xxxxxxxxx **2. 查看连接的主机** git remote 注意: 一个git项目连接的远程主机名不会重复 **3. 删除远程主机** git remote rm [origin] **4. 将本地分支推送给远程仓库** 将master分支推送给origin主机远程仓库,第一次推送分支使用-u表示与远程对应分支建立自动关联 git push -u origin master **5. 推送代码到远程仓库** git push **6. 推送标签** git push origin [tag] 推送本地标签到远程 git push origin --tags 推送本地所有标签到远程 **7. 推送旧的版本** git push --force origin 用于本地版本比远程版本旧时强行推送本地版本 **8. 删除远程分支和标签** git branch -a 查看所有分支 git push origin [:branch] 删除远程分支 git push origin --delete tag [tagname] 删除远程仓库标签 **9. 从远程获取代码** 获取远程分支代码 git pull 将远程分支master拉取到本地,作为tmp分支git fetch origin master:tmp区别pull将远程内容 直接拉取到本地,并和对应分支容进行合并fetch将远程分支内容拉取到本地,但是不会和本地 对应分支合并,可以己判断后再使用merge合并。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。