软件构造Lab1-Git的基本使用

总览图

本地操作

对远程仓库(remote repository)的操作


Git使用的一般步骤:

总览图:

本地操作:

1. Windows + R打开运行,输入cmd打开命令提示符

2. cd [当前project的根目录] 或[要存储代码的目录]

3. echo "# Lab1-学号" >> README.md

4. git init :为当前project初始化新建一个单独的新Git仓库

或者:git clone [url] :从现有远程仓库克隆,复制服务器上的所有历史信息到本地,方便之后push时不用再git remote add添加一个远程仓库。

5. git add [参数] <路径>: 将工作区中的指定文件或指定目录下的所有文件纳入到Git管理中(tracked),一个修改过的(modified)且被跟踪(tracked)的文件,处于暂存状态(staged)。此时,在暂存区中放置了指定的经过修改但是尚未commit的的文件,之后就可以使用git commit指令进行提交。
   常见用法:

  • git add -A:(all)将“所有跟踪文件(tracked)中被修改(modified)或已删除(deleted)文件和所有未跟踪(untracked)的新增文件”从工作区添加到暂存区(已删除的文件被加入(add)暂存区并提交(commit)和推送(push)到远程仓库后这个文件就从git系统中消失了)
  • git add . :(.代表当前路径)将“所有未跟踪(untracked)的新增文件(new)和被修改(modified)文件,不包括被删除(deleted)文件”从工作区添加到暂存区
  • git add -u:(update)将“所有跟踪文件(tracked)中被修改(modified)或已删除(deleted)文件,不包括未跟踪(untracked)的新增文件(new)”从工作区添加到暂存区
  • git add *:同git add . ,区别在于git add .会根据.gitignore做过滤,但是git add * 会忽略.gitignore(git忽略提交参见https://www.jianshu.com/p/74bd0ceb6182

git rm : 从Git中移除某个文件,将其从暂存区中移除,并连带从workspace中删除

6.git status: 查看哪些文件当前的文件状态(在commit前最好先试用git status检查一下是否还有修改过或新建的文件没有git add)

  • # On branch master nothing to commit (working directory clean)
    当前没有任何跟踪着的文件,也没有任何文件在上次提交后更改
  • # On branch master # Untracked files: …
    有未跟踪的文件,使用 git add 开始跟踪一个新文件
  • # On branch master # Changes to be committed:
    有处于已暂存状态的文件,等待提交

git diff : 查看工作目录(workspace)与暂存区(staging)快照之间的差别,即修改之后(modified)尚未暂存(unstaged)起来的变化内容

git diff --cached : 查看已暂存文件(staged)和上次提交时的快照之间的差异

7. git commit -m "message":将修改从暂存区提交到本地仓库,message可以是对本次提交的描述,例如git commit -m"V1.0 first commit"

git commit -a : 跳过git add步骤,直接将所有已经跟踪过的文件(tracked)暂存起来一并提交

8. git log :查看提交的历史信息

 

对远程仓库(remote repository)的操作:

9. git remote add origin [url地址]:添加一个远程仓库,将本地仓库与远程仓库建立链接。origin指向远程仓库,可随意起一个名字。

10. git push :将本地仓库的分支推送到远程服务器上对应的分支。

    一般格式:git push <远程服务器名> <本地分支名> :<远程分支名>

    例如git push origin master : refs/for/master, 意思是将本地的master分支推送到远程主机origin上对应的master分支。命令中的第一个master是本地分支名,第二个master是远程分支名。

    常见用法:(参考https://blog.csdn.net/qq_37577660/article/details/78565899

  • git push -u origin master:由于初始远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送(push)或者拉取(pull)时就可以直接 git push origin master

  • git push origin master:如果远程分支被省略,则表示将本地分支master推送到远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
  • git push origin :refs/for/master  如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin  --delete master git push
  • git push origin:如果当前分支与远程分支已经建立联系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
  • git push:如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名
  • 关于 refs/for:refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要

11.  git fetch :从远程仓库抓取数据到本地

git merge:合并分支,整合代码

12. git pull : 从一个仓库或者本地的分支拉取并整合代码,相当于git fetch + git merge

13. git remote show [远程仓库名] : 查看某个远程仓库的详细信息

git remote rm : 从本地移除 与远程仓库的链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值