完全掌握Linux與Windows下git的基本操作
Mar 10, 2022 pm 06:07 PM這篇文章為大家帶來了關於Git的相關知識,其中主要介紹了linux和windows下git的基本操作,希望對大家有幫助。
推薦學習:《Git教學》
git學習筆記-Linux與Windows下git的基本操作
github首頁:https://github.com/Taot-chen
一、Linux
環境
1、安裝git
sudo apt-get install git
2、設定git帳號資訊
git config --global user.name "你的git账号用户名"git config --global user.email "你的邮箱"
3、設定讓credential helper 幫助我們在一定時間內在記憶體中保存我們的code,其中第二行為設定逾時的時間
git config --global credential.helper cachegit config --global credential.helper 'cache --timeout=3600'
4、取得ssh秘鑰與遠端GIT關聯
ssh-keygen -t rsa -C "你的邮箱"# 之后一路回车cd ~/.ssh cat id_rsa.pub# 再在Terminal中复制密钥,添加到github的settings的SSH公钥中,完成免密码登录关联 # 验证ssh通信情况,提示连接成功即可ssh -T git@github.com# 其他操作就和为windows的几乎一致
5、push常用指令
git init # 初始化本地仓库git config --list # 可以查看你的git配置信息 # 提交文件到本地仓库git add abc.cppgit commit -m "first commit" //-m 用于指定本次提交的描述信息 # 提交到repositorygit remote add origin "github仓库ssh地址" //关联仓库git push origin master #master 是分支名 # 以后若提交到相同仓库,提交到本地仓库之后,直接git push即可# 克隆项目git clone "项目的ssh地址"
6、push報錯時調大快取
#git config http.postBuffer 52428800 //(根据文件大小随便调整)
二、Windows
環境
1、版本控制;備份與修改
#1)本機版本控制系統
把版本號碼存入資料庫,來區分記錄版本的更迭。
2)集中化版本控制系統(CVCS)
具有一個專門用於存放版本的修訂版本的伺服器,並且能夠借助版本記錄來方便地定位相關的記錄。
3)分散式版本控制系統(DVCS)
客戶端不只是提取出最新版本的檔案快照,而是把最原始的程式碼倉庫鏡像到本地,任何一處協同處理的伺服器故障,事後都可以用任何一個鏡像出來的本地倉庫恢復。
2、Windows下git的安裝與設定
1)安裝
在git官網下載安裝對應的版本,在選單中找到Git-> Git Bash
,出現命令列窗口,即是安裝成功。
-
檢視版本:
git --version
登入後複製
2)設定使用者名稱和信箱
git config --gobal user.name "your user name" # 配置用户名git config --gobal user.email "your email" #配置邮箱git config --list # 查看所有配置
3、git檔案的三種狀態和工作模式
1)三種狀態
- 已提交(committed):資料已安全地儲存到本機資料庫中
- 已修改(modified):修改了文件,但還沒保存到資料庫中
- 已暫存(staged):對一個已修改的文件的當前版本作了標記,使之包含在下次提交的快照中
2)三個工作區域
- 工作區:本機專案目錄
- 暫存區:對修改後的檔案進行快照,新增至暫存區
- git倉庫:工作區的隱藏目錄
.git
,不算是工作區,是git的版本庫
3)git的工作流程
- 在工作區中修改某些檔案;
- 對修改後的檔案進行快照,新增至暫存區
- 提交更新,將儲存在暫存區的快照永久存放在git倉庫中
拉取: git倉庫->本地工作區
提交: 本地工作區->暫存區->git倉庫
4、建立版本庫並提交檔案
1)初始化本機倉庫
在本機初始化一個沒有任何文件的空倉庫。
git init
2)新資料夾git01.txt並新增至暫存區
git add # 将文件添加到暂存区git add . # 提交当前目录的全部文件git status # 查看文件的状态git commit # 将暂存区的文件提交到本地仓库git log # 查看完整的提交日志信息git diff HEAD --file # 查看文件法file历次提交的区别
例如:
在Git Bash
中
git init # 创建空仓库git add git01.txt # 将文件git01.txt添加到缓存区git commit -m '第一次提交' #提交文件到本地仓库,单引号内的内容是本次提交的注释,必须要有git status # 查看暂存区文件状态git log # 查看完整的提交记录
5、檔案修改與提交修改
可以直接在工作區檔案中進行修改,之後再加入到暫存區,提交到本機倉庫
註: 提交之前必須先加入暫存區
1)暫存區檔案的提交與撤銷
提交:git add/git commit
-
撤銷:
從暫存區移除:git restore --staged git02.txt # 从暂存区移除文件git02.txtgit reset HEAD git02.txt # 取消关于文件git02.txt上一次的操作
登入後複製
#2)版本回退
簡化顯示提交記錄:
git log --pretty=oneline
此時HEAD指標預設指向最後一次提交的記錄。版本回退就是讓HEAD指標想要回退到的版本。
git reset --hard HEAD^ # 回退一个版本git reset --hard HEAD^^ # 回退两个版本git reset --hard HEAD~n # 回退n个版本git reset --hard "版本识别码” # 回退或者前进到版本识别码所在的版本git reflog # 显示所有的提交记录(包括HEAD指向的版本之后的版本),即可以显示用户的每一次操作的记录
3)檔案刪除
git ls-files # 查看本地仓库的文件目录git rm filename # 删除文件filename # 另一种删除方法:现在工作区删除文件,之后再提交操作即可
6、遠端倉庫
#1)github
git clone "项目地址"(github地址) # 下载github项目(可以不登陆)
2)ssh下載(需要登陸)
# 首先需要在gitbash中生成一个keyssh-keygen -t rsa -C "github邮箱" # 找到生成的公钥,打开后复制,之后再去github中添加`SSH and GPG keys` # 验证有没有添加成功ssh -T git@github.com# 出现您以被成功认证即可(即此时已经将ssh绑定了github) # 下载项目git clone "项目地址" (ssh地址)
3)本地項目(本地倉庫)推到遠端倉庫
# 在github新建一个仓库# 将本地项目提交到本地仓库 # 将本地仓库绑定github上面的远程仓库git remote add origin "github仓库地址" # 将其推到远程仓库的主干上(远程仓库中包含本地仓库的所有提交记录)git push -u origin master # 以后的更新推送,只需要在本地提交完成之后,直接如下命令git push
7、git分支操作
主幹是已經上線的項目,分支中的任何操作都不會影響主幹的功能。在分支完善無誤之後,再將其合併到主幹即可。
1)本機分支操作
常用基本指令
命令 | 描述 |
---|---|
git checkout branch | 切换到指定分支 |
git checkout -b new_branch | 新建分支并切换到新建分支 |
git branch -d branch | 删除指定分支 |
git branch | 查看所有分支,并且* 标记当前所在分支 |
git merge branch | 合并分支 |
git branch -m / -M oldbranch newbranch | 重命名分支,如果new_branch名字分支已经存在,则需要使用-M强制重命名 |
- 切换到指定分支:git checkout branch
- 新建分支并切换到新建分支:git checkout -b new_branch
- 删除指定分支:git branch -d branch
- 查看所有分支,并且
*
标记当前所在分支:git branch - 合并分支:git merge branch
- 重命名分支,如果new_branch名字分支已经存在,则需要使用-M强制重命名:git branch -m | -M oldbranch newbranch
注:
只能在主干分支上来合并分支,不可反过来。(虽然git不会报错,但是这样是不可以的)
分支所具有的内容,就是创建分支的时候主干所具有的内容。
2)远程分支操作
分支push和pull
相关命令
命令 | 描述 |
---|---|
git branch -a | 查看本地与远程分支 |
git push origin branch_name | 推送本地分支到远程 |
git push origin :remote_branch | 删除远程分支(本地分支还保留) |
git checkout -b local_branch origin/remote_branch | 拉取远程指定分支并在本地创建分支 |
获取远程分支的最新状态
git fetch
图表的方式显示操作记录
git log --graph --pretty=oneline
3)本地分支冲突解决
# 当分支和主干的同一文件的同一行不同的时候,合并分支就会出现冲突 # 根据具体的需要修改,使之相同即可
4)多人协同操作冲突
# 两个用户对同一个文件的同一行进行了不同的操作 # 解决方法:在推送之期拉一下远程仓库,在本地根据具体的需求解决完冲突之后再推送
9、标签管理
标签操作基本命令git tag
命令 | 描述 |
---|---|
git tag tag_name | 新建标签,默认为HEAD |
git tag -a tag_name -m ‘xxx’ | 添加标签并指定标签描述信息 |
git tag | 查看所有标签 |
git tag -d tag_name | 删除一个本地标签 |
git push origin tag_name | 推送本地标签到远程 |
git push origin --tags | 推送全部未推送过的本地标签到远程 |
git push origin :refs/tags/tag_name | 删除一个远程标签 |
10、Idea下git基本操作
1)环境集成配置
Configure
->Settings
->搜索git->在Path to Git executable中添加git的安装路径(一直到git.exe)->test
->出现版本号,即表示成功->添加github
或 File
->Other Settings
->Setting for New Projects
->Git/Git Hub
2)推送项目到远程仓库
项目提交到本地仓库->创建远程仓库->绑定远程仓库->推送到远程仓库
3)分支操作
4)gitignore插件
5)冲突及其解决
推荐学习:《Git学习教程》
以上是完全掌握Linux與Windows下git的基本操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)