git相关操作

GitLab的学习与使用

一、git相关命令

1. git init

​ git init 命令用于在目录中创建新的Git仓库

2. git clone

​ git clone 用于将一个远程的Git仓库拷贝到本地

​ 命令格式如下

git clone [url]  # url为远程git仓库地址

3. git add

​ git add 命令用于将修改的文件添加到暂存区

​ 命令格式如下

git add [file1] [file2] ... 
可以加多个参数,每个参数都是一个文件或者文件夹,当参数为文件夹的时候,会添加文件夹下面的子目录及文件

​ 添加当前目录下所有文件,可以使用

git add .

4. git status

​ git status 命令可以查看在上次提交之后,是否对文件进行过修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NZgu03Sw-1630488578701)(README.assets/image-20210528113647939.png)]

​ 加后缀-s可以显示简短的显示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iDRRLgfj-1630488578702)(README.assets/image-20210528113703754.png)]

5. git diff

​ git diff 命令可以比较文件的不同,比较的是暂存区文件与工作区文件

git diff --staged [file] # 查看暂存区与上一次提交的差异git diff --cached [file] # 查看暂存区与上一次提交的差异

6. git commit

​ git ccommit 命令用于将暂存区的文件添加到本地仓库中

git commit -m "修改信息" # 将暂存区所有文件都提交到本地仓库git commit [file1] [file2] ... -m "修改信息" # 将制定文件提交到本地仓库git commit -a # 将工作区所有修改提交到本地仓库

7. git reset

​ git reset 命令用于回退版本,可以指定退回某一个提交的版本

git reset HEAD^ # 撤销最近的一次提交,工作区内容保持不变git reset --hard HEAD^ # 撤销最近一次的提交,工作区内容变为上一次提交内容git reset --soft HEAD [版本号] # 回退到制定版本,工作区内容保持不变
  • HEAD:代表当前版本

  • HEAD^:代表上一版本

  • HEAD^^:代表上上版本

  • HEAD^^^:代表上上上版本

    … 以此类推

    同样,也可以使用数字来代替

  • HEAD~0:代表当前版本

  • HEAD~1:代表上一版本

  • HEAD~2:代表上上版本

  • HEAD~3:代表上上上版本

使用git reset命令会将提交撤销,不可恢复

8. git rm

​ git rm 命令用于删除文件

如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。

git rm <file> # 将文件从暂存区和工作区中删除   如果修改过的话,就需要加上-f,强制删除git rm --cached <file> # 将文件从暂存区中移除

9. git log

​ git log 命令用于查看历史提交记录

git log  # 查看历史提交记录git blame <file> # 以列表形式查看制定文件的历史修改记录

git log 相关参数

  • –oneline:使用简洁方式来显示日志,一行

  • –graph:开启拓扑图选项,更方便的查看项目中分支情况

  • –reverse:时间正序显示

  • –author=<用户名>:显示某一个制定用户的提交

  • –before= {<时间>} --before={<时间>}:查看某一个时间段内的提交

  • –no-merges:隐藏合并提交

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oww3Ugza-1630488578703)(README.assets/image-20210528160027407.png)]

10 git remote

​ git remote 命令用于远程仓库操作

git remote -v # 查看远程仓库信息git remote show [remote] # 查看某一个远程仓库的详细信息git remote add [shortname] [url] # 增加一个远程仓库,shortname为本地的版本库git remote rm [name] # 删除远程仓库git remote rename [old_name] [new_name] # 修改远程仓库名

11. git fetch

​ git fetch 命令用于从远程仓库获取代码

该命令只获取远程分支信息,并不合并

git fetch [alias] # 获取远程仓库信息,alias为远程仓库名称git merge [alias]/[branch] # 将从远程仓库获取到的信息,合并到本地仓库的任意分支

12. git pull

​ git pull 命令用于从远程仓库获取代码并合并到本地仓库中

git pull 其实就是 git fetch 和 git merge 的简写

git pull <远程主机名> <远程分支名>:<本地分支名> # 将远程仓库的某一个分支下载并合并到本地某一个分支git pull <远程主机名> <分支名>  # 当远程分支和本地分支名称一致的时候,可以省略一个git pull  # 默认拉起origin主机的master分支

13. git push

​ git push 命令用于从本地版本库的某一个分支上传到远程并合并

git push <远程主机名> <本地分支名>:<远程分支名>  # 将本地的某一个分支推送到远程的某一个分支,并合并git push <远程主机名> <分支名>  # 若远程分支和本地分支同名,可以省略一个git push  # 默认推送本地的master分支到origin的master分支上面,并合并

​ 相关参数

  • –force:如果本地版本和远程版本有差异,但又要强行推送,可以加上–fore

  • –delete:删除分支

    git push origin --delete test  # 删除origin主机的test分支
    

14. git branch

​ git branch 命令用于在本地创建一个新的分支

git branch [branch_name]  # 创建一个新的分支git branch -a  # 查看所有分支git branch   # 列出本地所有分支git branch -r  # 查看远程仓库分支列表git branch -d [branch_name]  # 删除指定分支git branch -m [old_name] [new_name]  # 给分支重命名

15 git checkout

​ git checkout 命令用于切换分支,与操作文件

git checkout [branch_name]  # 切换到另一个分支git checkout [file_name]  # 放弃某一个文件的修改  只能放弃工作区的修改git checkout .  # 放弃当前目录下的修改git checkout -b [branch_name]  # 如果分支存在,就只切换分支,如果分支不存在,先创建分支, 然后在切换git checkout [commit_id] [file_name]  # 从指定提交当中,签出指定文件   会覆盖工作区当中的文件git checkout [branch_name] [file_name]  # 从指定分支当中,签出指定文件   会覆盖工作区中的文件# file_name  可以使用通配符   *.css:目录下所有css文件    css/:签出某个目录下的文件

16. git merge

​ git merge 用于合并分支,如果自动合并失败,需要手动解决

git merge [branch_name]  # 将分支合并到当前分支当中

17. git tag

​ git tag 命令用于给某次提交打上一个标签,如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。

git tag -a [tag]  # 给当前提交打标签   然后会打开编辑器,让你出入标签注释git tag -a [tag] [commit_id]  # 给指定提交添加标签

打了标签之后,查看日志,就可以查看到对应标签,如图,可以看到f9f01a9打上了v1.0标签

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pAp0pmBe-1630488578704)(README.assets/image-20210528221840820.png)]

18. git show

git show 用于查看某一次提交的详情,

git show [commit_id]

19. git cherry-pick

git cherry-pick 用于将某一个分支上面的一个commit合并到另一个分支,

比如,我在dev分支上面首先做出了一个提交a,又做了第二个提交b,但是我只想将提交b合并到主分支上面,这个时候,我就可以使用git cherry-pick命令来合并

git checkout master  # 切换到主分支git cherry-pick 533c020  # 将提交533c020合并到当前分支,(假设提交b的版本号是533c020)
git cherry-pick [版本号]  # 将对应版本号的提交,合并到当前分支

20. git restore

git restore命令是撤销的意思,也就是把文件从缓存区撤销,回到未被追踪的状态。

git restore [file_name]  # 撤销暂存区中文件的修改

对工作区的文件不起作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值