# 1.初始化仓库及代码的提交

git init
git add readme.txt
git commit -m "wrote a readme file"
git add file1.txt
git add file2.txt file3.txt
git commit -m "add 3 files."
git push origin master

# 2.文件的删除

#一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用 rm 命令删了:
rm test.txt
git status
#现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit
git rm test.txt
#另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
git checkout -- test.txt

# 3.提交的代码撤销

# 3.1 commit的更改还原到本地

# 添加
git add .
# commit
git commit -m 'test'
# 撤销commit,修改的代码将还原到本地文件
git reset --soft HEAD^
# 或
git reset --soft HEAD~1 

# 3.2 撤销git add

git reset HEAD

# 3.3 HEAD~与HEAD^

HEAD~1指回退一个快照,可以简写为HEAD~
HEAD~2指回退两个快照,

HEAD^主要是控制merge之后回退的方向
HEAD~才是回退的步数

# 4.同时提交到giteegithub

git是分布式版本控制系统,同步到多个远程库时,需要用不同的名称来标识不同的远程库,而git给远程库起的默认名称是origin。所以我们需要修改、配置名称,以关联不同远程库。

  • 先删除已关联的名为origin的远程库:
git remote rm origin
  • 再关联GitHub的远程库:
git remote add github git@github.com:chloneda/demo.git

  • 再关联码云的远程库:
git remote add gitee git@gitee.com:chloneda/demo.git

  • 修改.git文件夹内的config文件:
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = git@github.com:chloneda/demo.git
    fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

将上述文件内容[remote "origin"]内容复制,修改origin名称,内容如下:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "github"]
    url = git@github.com:chloneda/demo.git
    fetch = +refs/heads/*:refs/remotes/github/*
[remote "gitee"]
    url = git@gitee.com:chloneda/demo.git
    fetch = +refs/heads/*:refs/remotes/gitee/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
  • 查看远程库
gitee   git@gitee.com:lx_r/object_detection_task.git (fetch)
gitee   git@gitee.com:lx_r/object_detection_task.git (push)
github  git@github.com:lxrobot/object_detection_task.git (fetch)
github  git@github.com:lxrobot/object_detection_task.git (push)
  • 上传更新代码
git add .
git commit -m "update"
#提交到github
git push github master
#提交到gitee
git push gitee master
# 从github拉取更新
git pull github
# 从gitee拉取更新
git pull gitee

(adsbygoogle = window.adsbygoogle || []).push({});

# 参考资料