当前位置:   article > 正文

git入门_git暂存的 怎么提出来

git暂存的 怎么提出来

git入门

git自报家门

git config --global user.name “Your name”
git config --global user.email “Your email@”
git 命令除了git init 都要在当前repository使用

1.创建repository

mkdir gitlearn cd gitlearn git init pwd:查看根目录 ls -ah:查看隐藏子目录

2.添加单个或多个文件到repository

(1).vi readme.txt git add readme.txt git commit -m “add a readme file”
(2) git file1.txt git file2.txt git file3.txt commit -m “add 3 files”
可以添一次加多个文件后,使用commit 告知git, 文件已提交至repository

3.查看修改

git status 查看工作区的状态 git diff 查看文件中的具体修改

4.修改后更新至repository

git add readme.txt git commit -m “update readme file”

5.查看历史提交记录

git log git log --pretty=oneline

6.回退

git reset --hard HEAD (HEAD是当前最新版本,上一个版本是HEAD,上上个版本是HEAD^,依次类推)
注意回退后之前的版本会消失,想回到消失的版本,需要指定的版本id来回退
git reset --hard id
如果关机之后指令消失,想要回退到消失的版本,那么需要使用git reflog 查看commit的信息来找到版本的id

7.工作区与暂存区

在服务器中的目录都可以看成工作区,除了.git,.git是Git版本库
在.git中存在stage(暂存区),使用git add 就是把文件修改添加到暂存区,使用git commit提交更改,就是把暂存区的所有内容提交到当前分支。
对于未添加到暂存区和分支的文件,使用git status 查看状态,会显
示未追踪文件

8.比较同一文件工作区和版本库里最新版本的区别

git diff HEAD – readme.txt

9.撤销工作区和暂存区的修改

(1).对工作区进行撤销 git restore – readme.txt 或者 git checkout – reamde.txt
(2).对暂存区进行撤销 git reset HEAD readme.txt 从暂存区回到工作区的修改状态,再使用git restore --readme.txt 对工作区进行撤销修改

10.删除文件

将工作区的文件删除后,版本库中的文件和工作区不对应,这个时候有两个选择(1)删除版本库中的此文件:git rm readme.txt git commit -m “remove readme.txt”
(2)将版本库中此文件替换到工作区去,这种方式也可以称为一键还原
git checkout – readme.txt

11.服务器创建SSH Key

ssh-keygen -t rsa -C “github.com”
一路回车,然后在主目录下找到.ssh目录(ll -ah显示隐藏目录),在此目录下找到id_rsa和id_rsa.pub,将公有私钥复制到github上的SSH Keys即可

12.将本地服务器git repository push to github

(1).git remote add origin git@github.com:你github用户名/本地git仓库(目录)的名字.git
(2).git branch -M master 匹配分支
(3).git push -u origin master
只要本地提交了就可以通过 git push origin master 远程推送github进行更新

13.从远程库克隆

git clone git@github.com:你的github名字/gitskills.git

14.删除远程库

使用git remote -v 查看远程库信息,再根据名字使用git remote rm 名字进行删除

15.创建分支并切换到新分支

git branch dev git checkout dev
合起来写法 git checkout -b dev 或者 git switch -c dev (新版写法)
修改readme.txt文件add,commit后,再切换为master分支,查看readme.txt 发现新添加的内容不见了,因为之前提交是在dev分支上,而master分支的提交点并没有变。

16.合并dev与master分支

使用git merge dev 成功合并,这条指令用于将指定分支dev合并到当前分支master中。删除分支后,会丢失分支信息。

17.删除分支

git branch -d dev

18.当不同分支修改readme.txt,并commit后分支merge发生冲突时

使用git log --graph --pretty=oneline --abbrev-commit 或者cat readme.txt查看冲突的位置,然后对当前分支中的readme.txt进行修改即可,注意若此时要合并只能切换到feature1,因为master已经是新时间线了,不能和旧时间线合并。使用git merge --no-ff -m “dev merge” dev,及时删除分支后,查看log仍然保留曾经的分支历史信息,使得分支信息不丢失。

19.将当前分支(dev)正在开发的文件提交到暂存区缓存起来,修改其他分支的临时bug

git stash,切换到其他分支修改bug,git switch master git switch -c issue-101
git switch master git merge --no-ff -m “modify issue-101” issue-101,回到正在开发的分支(dev),将缓存区的开发文件取出 git stash pop ,若master分支是dev分支的子分支,也就是说master上的bug在dev上也存在,为了不重复修改dev中master的bug,将issue-101解决完bug后提交的id记录下来(issue-101_id),在dev中使用git cherry-pick issue-101_id即可将master分支上的修改复制到dev分支中

参考廖雪峰的git课程

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/597075
推荐阅读
相关标签
  

闽ICP备14008679号