今天上课学了git,记录一下。
首先,需要建立一个工作区(文件夹),打开终端
mkdir my_project
cd my_project
进入了工作区,使用git init将文件夹初始化为版本库
Sursers-mac:my_project surser$ git init
Initialized empty Git repository in /Users/surser/Desktop/my_project/.git/
创建一个txt文件,写入内容
echo "Auther: Surser" >> readme.txt
使用git status查看git当前状态,反馈的信息中,readme.txt是红色的,说明进行了改变并且没有添加到仓库
Sursers-mac:my_project surser$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
readme.txt
nothing added to commit but untracked files present (use "git add" to track)
使用 git add <filename> 命令将文件夹添加到仓库,在使用git status查看git当前状态,此时readme.txt变成了绿色,但是并没有提交
Sursers-mac:my_project surser$ git add readme.txt
Sursers-mac:my_project surser$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: readme.txt
使用 git commit提交到仓库, -am 后面写此次提交的说明,方便后续管理阅读
Sursers-mac:my_project surser$ git commit -am "Add a readme file"
[master (root-commit) d109ed3] Add a readme file
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
使用git log命令查看仓库记录,d109ed3e9a4429c3bff532a235bb624fdf0aa1ea 可以认为是该次commit的版本号
Sursers-mac:my_project surser$ git log
commit d109ed3e9a4429c3bff532a235bb624fdf0aa1ea (HEAD -> master)
Author: Surser <724598540@qq.com>
Date: Tue Aug 27 20:40:03 2019 +0800
Add a readme file
使用git show <版本号> 可以查看该次版本的操作
Sursers-mac:my_project surser$ git show d109ed3e9a4429c3bff532a235bb624fdf0aa1ea
commit d109ed3e9a4429c3bff532a235bb624fdf0aa1ea (HEAD -> master)
Author: Surser <724598540@qq.com>
Date: Tue Aug 27 20:40:03 2019 +0800
Add a readme file
diff --git a/readme.txt b/readme.txt
new file mode 100644
index 0000000..8abd78d
--- /dev/null
+++ b/readme.txt
@@ -0,0 +1 @@
+Auther: Surser
以上是git的基本操作。
当我们对文件进行了修改以后,要使用两步将其添加到版本库:
git add <filename>
git commit -am " Description"
但是如果说我某次修改了文件没有保存,出去玩了,过几天回来一下子想不起来进行了什么修改,怎么办呢? 使用git diff 命令来查看工作区当前状态与上一次保存的版本的区别。比如说我现在修改readme.txt文件,然后使用git diff看看什么样子
Sursers-mac:my_project surser$ echo "Try git" >> readme.txt
Sursers-mac:my_project surser$ echo "Bye" >> readme.txt
Sursers-mac:my_project surser$ git diff
diff --git a/readme.txt b/readme.txt
index 8abd78d..577131f 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,3 @@
Auther: Surser
+Try git
+Bye
上传github
如果是第一次新建的仓库,在完成上述后,在github新建一个repository,复制url
git remote add <name> <url>
git push -u <name> master
每一次更新
git add
git commit
git push -u master
创建本地分支并推送到远程仓库
$ git branch test
$ git checkout test
$ git push -u origin test
$ git branch --set-upstream test origin/test
切换到现有分支,并上传
git checkout test
git push origin test
更新子模块
git branch -a
查看分支
git checkout master
选择master分支
git pull
更新
cd ../
返回上一层
git add .
git commit -m ""
git push