Git使用方法
获取Git仓库
- 首先选定要进行版本控制的本地目录,具体方法cd进目标目录即可.
- 使用git init 命令,这时候项目中的文件还没有被跟踪,使用git add命令指定所需的文件来跟踪:git add+filename.XXX,然后执行git commit
- 在软件构造的实验中,我们选择git clone的方法:
git clone+自己的仓库地址(github上有)建立本地仓库即可。
记录每次更新到仓库
一.使用git status命令查看文件处于什么状态:
- On branch master
nothing to commit, working tree clear.
这段话说明所有跟踪文件在上次提交后都未被更改过.还说明没有文件未被跟踪. - On branch master
No commits yet
Untracked files:
(use “git add …” to include in what will be committed)
readme.txt
这段话说明:有一个readme.txt文件未被跟踪,可以通过git add命令进行跟踪. - 在修改readme.txt后我们来看一下再使用git status会有什么结果:
On branch master
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: readme.txt
no changes added to commit (use “git add” and/or “git commit -a”)
readme.txt文件Changes not staged for commit 这行下面,说明已跟踪文件的内容发生了变化,但还没有放到暂存区. 要暂存这次更新,需要运行 git add 命令. 这是个多功能命令;可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等.将这个命令理解为“精确地将内容添加到下一次提交中”而不是“将一个文件添加到项目中”要更加合适.
这里需要注意,缓存区存放的是最后一次git add命令缓存的版本,这时候如果git commit提交的是最后一次git add命令缓存的版本,而不是工作区的版本。所以我们修订完版本后都要重新git add。
4. 如果要把所有文件全部git add,我们就使用”git add .”
这个命令,注意add后面有个空格+.。
二.使用与git status相似的git diff
- 不加任何参数,直接输入git diff:
diff —git a/readme.txt b/readme.txt
index ffd8b54…2ea7813 100644
— a/readme.txt
+++ b/readme.txt
@@ -1,3 +1,3 @@
Hello java!
defused the bomb!
-o
会出现以上结果,此命令比较的是当前工作区文件与缓存区(git add的文件)的差异。
2. git diff —staged(—cached):
diff —git a/readme.txt b/readme.txt
index deb7337…ffd8b54 100644
— a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,3 @@
Hello java!
+defused the bomb!
o
这条命令是比较(git add的文件已缓存)与最后一次提交的文件间的差异。
三.git commit的使用:
- 直接使用git commit:
会打开vim窗口,可以在第一行加入自己想要加的注释。 - git commit -m+”XXX”
会省去打开vim的麻烦 - git log:
显示自己提交的信息 - git commit —amend:
可以修改最近一次提交的说明
四.远程仓库的使用:
- git clone前面已经说过。
- git remote如果想查看已经配置的远程仓库使用此命令:会出现origin,这是git给克隆仓库默认的名字。
- 从远程仓库拉取:git fetch
- 推送到远程仓库:git push
当你想将main分支推送到origin服务器时,运行下列命令:git push origin master。