Git基本操作
来源:互联网 发布:龙神契约武神进阶数据 编辑:程序博客网 时间:2024/06/08 14:57
本地操作
1. 创建文件夹
$ mkdir gitlearn $ cd gitlearn/
2. Git命令,初始化文件夹,会生成一个.git文件夹,里面包含Git的配置跟踪信息
/gitlearn$ git init 初始化空的 Git 仓库于 /home/liu/learngit/gitlearn/.git/
/gitlearn$ ll 总用量 12 drwxrwxr-x 3 liu liu 4096 9月 1 08:39 ./ drwxrwxr-x 4 liu liu 4096 9月 1 08:39 ../ drwxrwxr-x 7 liu liu 4096 9月 1 08:39 .git/ /gitlearn$ ls .git/ branches config description HEAD hooks info objects refs
// .git文件夹,包含Git的配置信息,存储文件的改动信息,不可随意删除
3. 在工作目录下创建文件并写一段文字
/gitlearn$ vim readme.txt/gitlearn$ cat readme.txt this is my first git project
4. git status 查看Git状态
/gitlearn$ git status 位于分支 master初始提交未跟踪的文件: (使用 "git add <文件>..." 以包含要提交的内容) readme.txt提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
5. 提示文件没有被跟踪,使用git add readme.txt将文件添加到跟踪缓冲区
/gitlearn$ git add readme.txt/gitlearn$ git status 位于分支 master初始提交要提交的变更: (使用 "git rm --cached <文件>..." 以取消暂存) 新文件: readme.txt
6. 可以使用git rm –cached <文件>…” 以取消暂存,或者 git commit -m “信息”提交修改(提交到本地)
/gitlearn$ git commit -m "这里填写变更信息,方便回溯"[master (根提交) a2c7ebc] 这里填写变更信息,方便回溯 1 file changed, 1 insertion(+) create mode 100644 readme.txt
7. 再次查看发现工作区为空,意味着没有改动
/gitlearn$ git status 位于分支 master无文件要提交,干净的工作区
//继续修改文件
2、 本地版本回退
0. 修改文件
/gitlearn$ vim readme.txt /gitlearn$ cat readme.txt this is my first git projecthello , add a new line
/gitlearn$ git status 位于分支 master尚未暂存以备提交的变更: (使用 "git add <文件>..." 更新要提交的内容) (使用 "git checkout -- <文件>..." 丢弃工作区的改动) 修改: readme.txt修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
1. add之前回撤
//使用git checkout -- readme.txt丢弃改动,文件回退到更改前/gitlearn$ git checkout -- readme.txt/gitlearn$ cat readme.txt this is my first git project/gitlearn$ git status 位于分支 master无文件要提交,干净的工作区
2. add之后回撤。继续修改并提交到缓存区(add)后回撤
/gitlearn$ cat readme.txt this is my first git projecthello , this is 2 lines
/gitlearn$ git add readme.txt
/gitlearn$ git status 位于分支 master要提交的变更: (使用 "git reset HEAD <文件>..." 以取消暂存) 修改: readme.txt
/gitlearn$ git reset HEAD readme.txt重置后取消暂存的变更:M readme.txt
/gitlearn$ git status 位于分支 master尚未暂存以备提交的变更: (使用 "git add <文件>..." 更新要提交的内容) (使用 "git checkout -- <文件>..." 丢弃工作区的改动) 修改: readme.txt修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
//回到了add之前的状态,同样可以继续回撤
3. commit之后回撤
1. 使用git log 查看修改信息,或者git log –pretty=oneline 逐行查看
/gitlearn$ git logcommit 6776a0d8887bb62d8f87e2d6fae839db53d19765Author: flist_liu <flist_liu@qq.com>Date: Fri Sep 1 09:22:41 2017 +0800 在readme.txt中插入了新行commit a2c7ebc50fbf0a5615ee44730cbefc2bba39d6dbAuthor: flist_liu <flist_liu@qq.com>Date: Fri Sep 1 08:46:54 2017 +0800 这里填写变更信息,方便回溯
或者
/gitlearn$ git log --pretty=oneline 6776a0d8887bb62d8f87e2d6fae839db53d19765 在readme.txt中插入了新行a2c7ebc50fbf0a5615ee44730cbefc2bba39d6db 这里填写变更信息,方便回溯
2. 使用git reset commitID回退,commitID时git自动计算出来的,可以只写前几位
/gitlearn$ git reset a2c7重置后取消暂存的变更:M readme.txt
/gitlearn$ git status 位于分支 master尚未暂存以备提交的变更: (使用 "git add <文件>..." 更新要提交的内容) (使用 "git checkout -- <文件>..." 丢弃工作区的改动) 修改: readme.txt修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
/gitlearn$ cat readme.txt this is my first git projecthello , this is 2 lines
/gitlearn$ git checkout readme.txt/gitlearn$ cat readme.txt this is my first git project/gitlearn$ git status 位于分支 master无文件要提交,干净的工作区
3. 删除文件
- 先在本地删除
- 这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了
现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
/gitlearn$ git rm test.txt rm 'test.txt'
/gitlearn$ git commit -m "remove test.txt"
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:$ git checkout -- test.txt
4、 本地版本推送到GitHub
1. 首先要有一个GitHub账号
方法百度
2. 添加SSHkey.
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:最后点击Add SSH Key ,将本机SSH Key添加进去。
3. 在GitHub上创建一个仓库,取名gitlearn
- 推送
/gitlearn$ git remote add origin git@github.com:你的Github账号/gitlearn.git
/gitlearn$ git push -u origin master Counting objects: 3, done. Writing objects: 100% (3/3), 274 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@github.com:Github账号/gitlearn.git * [new branch] master -> master 分支 master 设置为跟踪来自 origin 的远程分支 master。
//从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
5. 从github下载到本地
1. 创建一个本地工作目录2. $ git clone git@github.com:Github账号/仓库名.git
阅读全文
1 0
- Git基本操作
- Git 基本操作
- git基本操作
- git基本操作
- git基本操作
- git分支基本操作
- git基本操作介绍
- Git的基本操作
- Git操作基本命令
- git的基本操作
- Git 基本操作
- Git基本命令行操作
- git remote 基本操作
- git 基本操作
- git基本操作
- git基本操作
- git的基本操作
- Git基本操作
- react-native 中NativeBase框架500错误
- Git拉取分支代码小结以及问题解决
- 解决mysql插入中文乱码的问题
- 火狐FireFox兼容mouseover,mouseout的解决方案
- numpy: 新建二维序列数组
- Git基本操作
- tips for deep learing
- Set-group-id on directory
- 建造者模式
- C#委托详细实例(通过窗体应用程序传递消息)
- 数据库事务四种隔离级别
- Qt5.9.1 qmake 中文手册(二)
- leetcode
- Effective STL 28 How to use a reverse_iterator's base iterator