Git使用小结(一)

Git使用小结(一)

一、创建版本库

  • 创建文件目录:mkdir learngit
  • 进入目录:cd learngit
  • 初始化:git init
  • git config –global user.name “someone”
  • git config –global user.email “someone@some.con”
  • git add somefile.txt
  • git commit -m “some comments”

二、版本管理

  • 通过git status可以看到当前版本库的状态,如文件的新增删除修改等。
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   readme.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        test.py

no changes added to commit (use "git add" and/or "git commit -a")

  • 如果不知道哪里被修改了,可以使用git diff查看。
$ git diff
diff --git a/readme.txt b/readme.txt
index 90a675b..e163ff9 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,3 +1,4 @@
 Some of the solutions of leetcode(https://leetcode.com).
 Coded in Python.
-All rights reserved.
+All rights reserved
+@2015
  • 每commit一次,都会生成一个版本,当想要退回到这一版本的时候,可以先试用git log找到当时的历史记录。
$ git log
commit c1f57773b78bae78e2db93a88384b1603626794f
Author: jevonswang <972562104@qq.com>
Date:   Sun Oct 25 21:12:14 2015 +0800

    change readme.txt

commit fd249719dc8b4ec5a6b16227e24c2513b18a1149
Author: jevonswang <972562104@qq.com>
Date:   Sun Oct 25 21:05:30 2015 +0800

    First commit

commit 0aa2720c83e35054fce8e49f2a63c33be7a35947
Author: jevonswang <972562104@qq.com>
Date:   Sun Oct 25 20:23:02 2015 +0800

    wrote a readme file

如果感觉输出的参数太多可以加一个--pretty=oneline参数

$ git log --pretty=oneline
c1f57773b78bae78e2db93a88384b1603626794f change readme.txt
fd249719dc8b4ec5a6b16227e24c2513b18a1149 First commit
0aa2720c83e35054fce8e49f2a63c33be7a35947 wrote a readme file
  • 在git中,用HEAD表示当前版本,用HEAD^表示上一版本,用HEAD~100表示上100个版本。如果想退回到上一版本,可以使用git reset命令。
$ git reset --hard HEAD^

也可以直接输入版本号:

$ git reset --hard 0aa2720

回到历史版本后,新版本的记录就不能通过git log看到了,这是如果忘记新版本的版本号,则很难在返回到新版本,不过可以用git reflog查看历史命令,找到新版本的版本号.
- 撤消修改:当想要撤销某一修改的时候,如果还没有commit,可以使用git checkout -- filename命令,这时该文件就会回到最近一次commit或add时的状态;如果已经commit了,就要先使用git reset命令,再使用git checkout
- 当想要删除一个文件时,可以使用git rm命令。如果误删了某一文件,但是版本库中还有的话,可以使用git checkout -- filename命令恢复。checkout命令其实就是用版本库中的版本替换工作区的版本。

三、远程仓库

  • 我们可以把代码推送到远程仓库进行备份,如github。
  • 在使用前需要先注册一个github账号,然后创建一个ssh key
$ ssh-keygen -t rsa -C "youremail@example.com"

这时在主目录下会有一个.ssh目录,里面有id_rsaid_rsa.pub两个文件。然后打开github的Settings->SSH keys->Add SSH key,将id_rsa.pub中的内容粘贴到Key中,Title可以随便起。这样就完成了SSH的设置。
- 如果想在github上进行同步,我们首先要先在github上建立一个仓库。首先,点击右上角的+进入Create New Repository界面,填写相应的信息后确认,新仓库就建立好了。
- 然后在本地仓库下关联远程仓库:

$ git remote add origin git@github.com:yourname/repositoryname.git

这时就可以将本地库中的内容推送到远程仓库中去了:

$ git push -u origin master

参数-u会把本地的master分支和远程仓库的master分支关联起来,以后就可以直接进行推送了。
- 使用git clone命令可以把远程仓库中的一个目录克隆到本地。后面的目录地址支持ssh协议和https协议,以git://开头的地址是ssh协议,以https://开头的是https协议,一般https协议会比较慢,而且每次都要输入口令。


——本文参考自廖学峰的Git教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值