首頁 >開發工具 >Git >完全掌握Linux與Windows下git的基本操作

完全掌握Linux與Windows下git的基本操作

WBOY
WBOY轉載
2022-03-10 18:07:462039瀏覽

這篇文章為大家帶來了關於Git的相關知識,其中主要介紹了linux和windows下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中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除