引入GIit版本控制器
- 打开工程文件目录(包含所有工程文件的总目-上一级)
- 右键-git bash here
- ls
- git init
- ls -a 查看有没有.git文件—可不执行
- git add . 添加所有文件
- git commit -m “模板提交” 第一次工程模板提交
- git diff 应该是什么都没有—可不执行
- 打开工程文件编译(全部编译)
- git commit -m "查看不需要比对文件路径“
- vim .gitignore 创建编辑.gitignore文件
- 复制要忽略文件的第一个和后面的路径(路径都一样的那个)
- 编辑.gitignore文件 -I 插入模式 -esc :wq退出
- git add . 推送.gitignore文件
- git commit -m "将.gitignore”文件提交上去
- 打开工程编译
- git rm -r --cached . 清除本地当前Git缓存
- git add .
- git commit -m "重新推送“
- git diff
Git版本管理器初始化完成
回退版本
- git reflog
- git reset --haed HEAD(HEAD是版本号)
常用命令
-
git clone
- 从git 服务器拉取代码
- git clone https://github.com/gafish/gafish.github.com.git
-
git config
- 配置开发者用户名和邮箱
- git config user.name gafishgit config user.email gafish@qqqq.com
- 每次代码提交的时候都会生成一条提交记录,其中会包含当前配置的用户名和邮箱。
-
git branch
- 创建、重命名、查看、删除项目分支,通过
Git
做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干。 - git branch daily/0.0.0
- 创建一个名为
daily/0.0.0
的日常开发分支,分支名只要不包括特殊字符即可。
- 创建一个名为
- git branch -m daily/0.0.0 daily/0.0.1
- 如果觉得之前的分支名不合适,可以为新建的分支重命名,重命名分支名为
daily/0.0.1
- 如果觉得之前的分支名不合适,可以为新建的分支重命名,重命名分支名为
- git branch
- 标 * 的是当前分支
- 查看本地分支 ,通过不带参数的branch命令可以查看当前项目分支列表
- git branch -r
- 查看所有远程分支
- git branch -a
- 查看本地和远程所有分支
- git branch -d daily/0.0.1
- 如果分支已经完成使命则可以通过
-d
参数将分支删除
- 如果分支已经完成使命则可以通过
- 创建、重命名、查看、删除项目分支,通过
-
git checkout
- 切换分支
-
git status
- 查看文件变动状态
-
git add
-
git commit
-
git push
- 将本地的代码改动推送到服务器
-
git pull
- 将服务器上的最新代码拉取到本地
-
git log
-
git tag
- 为项目标记里程碑
-
.gitignore
- 设置哪些内容不需要推送到服务器,这是一个配置文件
-
git remote -v
- 查看远程仓库地址
- fetch:代表用于拉取的远程仓库地址
- push:代表用于提交的远程仓库地址
-
git log --graph
- 可以看到分支合并图
-
git add -u
- 加上-u之后, 即git add -u ,
- 能把工作区的所有 有更新(修改、删除、新增)的文件 都添加到暂存区。
-
查看用户名和邮箱地址
- $ git config user.name
- $ git config user.email
-
修改用户名和邮箱地址
- $ git config --global user.name “username”
- $ git config --global user.email “email”
远程仓库
- git status
- git pull
- git push
从命令行推送现有存储库
git remote add origin https://github.com/Dream-haohao/Dream-haohao.git
git branch -M main
git push -u origin main
如果推送不上去,使用的HTTP或HTTPS的方式,
git push -u origin main
后无反应
可尝试使用SSH的方式连接
先删除原来的HTTP的连接
git remotr rm origin
然后添加新的SSH连接
git remot add origin git@github.com:Dream-haohao/PROFINET.git
然后再push
git push -u origin main
-
git fetch origin master:new_branch/0.0
-
git fetch origin main:new_branch/0.0
- 从远程获取远程分支仓库到本地新的分支
-
git diff new_branch/0.0
- 比较本地新分支和本地仓库的区别
-
git merge new_branch/0.0
-
将分支new_branch/0.0上的修改,合并到当前分支
-
使用git merge new_branch/0.0就可以更新当前的仓库了
-
更新之后我们把创建的new_branch/0.0文件夹删除就可以了
-
如果出现冲突;
-
git stash
-
git pull
- git merge new_branch
-
git stash pop
-
得到的结果如下
-
<<<<<<< Updated upstream <<<<<<< HEAD //注释 -----本次从远程仓库拉取的 //Simitsu //template ======= //test -----上次由本地提交的(commit) >>>>>>> 89829397e89108730469a90be770423a34ece959 ======= //Dream-X -----上次提交后,又修改的,暂时保持的(git stash) >>>>>>> Stashed changes
-
根据需求,手动修改后提交保存推送
-
-
-
git branch -d new_branch/0.0
- 删除new_branch/0.0分支
远程新建分支
-
git checkout -b master
- 新建master分支,并且切换到master分支
- 等效于
- git branch master
- git checkout master
-
git push origin master:master
- 将本地master分支推送到远程新建master分支
删除远程分支
-
git push origin :master
-
推送一个空分支
-
git push origin --delete master
- 删除远程空分支
删除本地分支
- git branch -d master
合并冲突临时储存流程
-
git stash
-
git pull
- git merge new_branch
-
git stash pop
-
git stash:备份当前的工作区
- 从最近一次提交中读取相关内容,让工作区保持和上一次提交的内容一致。
- 同时,将工作区的内容保存到git栈中。
-
git stash pop:从git栈中读取最近一次保存的内容,恢复工作区的相关内容。
- 由于可能存在多个stash的内容,所以用栈来管理
- pop会从最近一个stash中读取内容并恢复到工作区。
-
git stash list:显示git栈内的所有备份
- 可以利用这个列表来决定从那个地方恢复。
-
git stash clear:情况git栈。
-
删除文件或文件夹
- git rm test.txt
- git rm -r --cached test.txt
- 如果出现报错,fatal: pathspec ‘newfile.txt’ did not match any files
- 先add,再rm
- git add test.txt
- git rm -f test.txt
- git commit -m “rm text.txt”
- git push
git add
- git add .
- git add *
- git add --all
建议使用 git add --all
$ git --version 执行version命令,如果显示Git的版本就说明安装成功了。
$ git config --global user.name “<用户名>” Git的设定
$ git config --global user.email “<电子邮件>”
$ git config --global --list 查看当前用户(global)配置
$ git config – local --list 查看当前仓库配置信息
$ git config --system --list 查看系统config
$ git config --global color.ui auto 让Git以彩色显示。
$ git config --global alias.co checkout 为Git命令设定别名。例如:把「checkout」缩略为「co」,然后就使用「co」来执行命令。
$ mkdir tutorial
$ cd tutorial 进入tutorial文件夹
$ git init 用init命令把该tutorial目录移动到本地Git数据库。
$ git status 使用status命令确认工作树和索引的状态。
$ git add < file >… 使用add命令,将文件加入到索引。在< file >指定加入索引的文件。用空格分割可以指定多个文件。
$ git add . 指定参数「.」,可以把所有的文件加入到索引。 建议使用 $git add --all
$ git commit -m “注释文字” 执行commit命令,可以提交文件
$ git log 使用log命令,可以在数据库的提交记录看到新的提交。
$ git push -u origin master第一次推送master分支的所有内容
$ git push origin master 使用命令,推送最新修改,origin是远程库默认习惯命名;
在Git执行推送(Push)操作,执行Push之后,本地的修改记录会被上传到远程数据库。所以远程数据库的修改记录就会和本地数据库的修改记录保持同步。
进行克隆(Clone)操作就可以复制远程数据库,执行克隆后,远程数据库的全部内容都会被下载。
进行拉取(Pull) 操作就可以把远程数据库的内容更新到本地数据库。进行拉取(Pull) 操作,就是从远程数据库下载最近的变更日志,并覆盖自己本地数据库的相关内容。
$ git remote -v 查看远程库信息
$ git remote add < name > < url > 使用remote指令添加远程数据库。在< name >处输入远程数据库名称,在< url >处指定远程数据库的URL。
$ git remote rm origin 删除远程库,此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库
$ git push < repository > < refspec >… 使用push命令向数据库推送更改内容。< repository >处输入目标地址,< refspec >处指定推送的分支。
$ git clone < repository > < directory > 使用clone指令可以复制数据库,在< repository >指定远程数据库的URL,在< directory >指定新目录的名称。
$ git reset --hard HEAD^ 使用git reset命令,把当前版本回退到上一个版本,用HEAD表示当前版本
$ git reflog 用git reflog查看命令历史,以便确定要回到未来的哪个版本。
$ git diff HEAD – readme.txt 用git diff HEAD – readme.txt命令可以查看工作区和版本库里面最新版本的区别
$ git checkout – readme.txt 丢弃工作区的修改,把readme.txt文件在工作区的修改全部撤销。
$ git rm test.txt 从版本库中删除该文件,那就用命令git rm删掉,并且git commit
$ git branch 查看当前分支,会列出所有分支,当前分支前面会标一个*号
$ git checkout -b dev 创建dev分支,然后切换到dev分支,git checkout命令加上-b参数表示创建并切换,
$ git switch -c dev 创建并切换到新的dev分支
$ git switch master 直接切换到已有的master分支
$ git merge < name > 合并某分支到当前分支
$ git branch -d < name > 删除分支
$ git log --graph 可以看到分支合并图
$ ssh-keygen -t rsa -C “youremail@example.com” 需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
$ cd+文件夹名字 进入,Tab可以补全文件夹名字
$ ls 查看
使用cd指令指定路径
pwd指令查看当前的目录
git init指令在当前目录下创建本地仓库
git add指令添加文件到仓库,
git commit指令提交文件到仓库
git log查看log
git diff查看和之前有什么不同
修改文件后,怎么提交到远程仓库----我们使用本地仓库-不用执行第4步
1.git status 查看git是否有修改内容需要提交
2.git add 指向需要提交的内容文件
3.git commit 提交到本地库
4.git push origin master 提交到远程仓库
$ git status 使用status命令确认工作树和索引的状态。
$ git add . 指定参数「.」,可以把所有的文件加入到索引。
$ git commit -m “xxx” 执行commit命令,可以提交文件,xxx注释文字
$ git log 使用log命令,可以在数据库的提交记录看到新的提交。
$ git reset --hard HEAD^ 使用git reset命令,把当前版本回退到上一个版本,用HEAD表示当前版本
$ git reflog 用git reflog查看命令历史,以便确定要回到未来的哪个版本。
$ git branch 查看当前分支,会列出所有分支,当前分支前面会标一个*号
$ git log --graph 可以看到分支合并图