git的常规使用

1.基本的使用

//git init / git clone xxx.git 项目的创建或者clone
dd@ubuntu:~/Desktop/gittest$ git init
Initialized empty Git repository in /home/dd/Desktop/gittest/.git/
dd@ubuntu:~/Desktop/gittest$ ll
total 12
drwxrwxr-x 3 dd dd 4096 Feb 10 07:00 ./
drwxr-xr-x 4 dd dd 4096 Feb 10 06:53 ../
drwxrwxr-x 7 dd dd 4096 Feb 10 07:00 .git/
dd@ubuntu:~/Desktop/gittest$
    
 
dd@ubuntu:~/Desktop/base$ git clone /home/dd/Desktop/gittest/.git
Cloning into 'gittest'...
done.

 //git add file_name 添加文件至缓存区,之后文件可以进行跟踪
 //git status 查看缓存区的文件状态,检查是否修改或者删除等状态
 //git commit -m "first commit" 提交,会产生commit_id
 //git commit --amend -m "xx" 会覆盖上次提交的commit
dd@ubuntu:~/Desktop/gittest$ touch 1 2 3
dd@ubuntu:~/Desktop/gittest$ git add 1
dd@ubuntu:~/Desktop/gittest$ git status
On branch master
No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   1

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

dd@ubuntu:~/Desktop/gittest$ git commit -m "1.0"
//git log -stat / git config --global alias.ll 'log --oneline --all --graph'
//git ll
dd@ubuntu:~/Desktop/gittest/.git$ git log
commit bd06b545f4b04943448d44651ed233ec73f6ce7c (HEAD -> master)
Author: Your Name <you@example.com>
Date:   Fri Feb 10 07:05:47 2023 -0800

    1.0
    
dd@ubuntu:~/Desktop/gittest/.git$ git config --global alias.ll 'log --oneline --all --graph'
dd@ubuntu:~/Desktop/gittest/.git$ git ll
* bd06b54 (HEAD -> master) 1.0

    
// .gitignore 可以忽略 上文中文件名
    规则
    # 忽略所有的 .a 文件
*.a

# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a

# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO

# 忽略任何目录下名为 build 的文件夹
build/

# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt

# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf
    
//git reset HEAD CONTRIBUTING.md 来取消暂存 CONTRIBUTING.md 文件
// git checkout -- CONTRIBUTING.md 撤消对文件的修改
 
    
 远程仓库在本地是不可以直接修改的,只能拉取过来,然后得到commit_id,本地如果使用的话得建立分支,然后就可以进行push
//git remote -v 查看远程仓库
dd@ubuntu:~/Desktop/base/gittest$ git remote -v
origin  /home/dd/Desktop/gittest/.git (fetch)
origin  /home/dd/Desktop/gittest/.git (push)
//git remote add test_origin /home/dd/Desktop/base2/.git 添加远程仓库
dd@ubuntu:~/Desktop/base/gittest$ git remote add test_origin /home/dd/Desktop/base2/.git
dd@ubuntu:~/Desktop/base/gittest$ git remote -v
origin  /home/dd/Desktop/gittest/.git (fetch)
origin  /home/dd/Desktop/gittest/.git (push)
test_origin     /home/dd/Desktop/base2/.git (fetch)
test_origin     /home/dd/Desktop/base2/.git (push)
//git remote remove test_origin 删除远程仓库
//git remote show origin 查看远程仓库
//git remote rename pb paul 远程仓库的重命名
dd@ubuntu:~/Desktop/base/gittest$ git remote remove test_origin
dd@ubuntu:~/Desktop/base/gittest$ git remote -v
origin  /home/dd/Desktop/gittest/.git (fetch)
origin  /home/dd/Desktop/gittest/.git (push)
//git fetch remote_name 从远程仓库抓取
 dd@ubuntu:~/Desktop/base/gittest$ git ll
* bd06b54 (HEAD -> master, origin/master, origin/HEAD) 1.0
dd@ubuntu:~/Desktop/base/gittest$ git fetch origin
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (2/2), 208 bytes | 208.00 KiB/s, done.
From /home/dd/Desktop/gittest/
   bd06b54..e88ab17  master     -> origin/master
dd@ubuntu:~/Desktop/base/gittest$ git ll
* e88ab17 (origin/master, origin/HEAD) add file 2
* bd06b54 (HEAD -> master) 1.0
//git push origin push_branch
dd@ubuntu:~/Desktop/base/gittest$ git ll
* b5580d9 (HEAD -> master, push_branch) add file 1.1
| * e88ab17 (origin/master, origin/HEAD) add file 2
|/
* bd06b54 1.0
dd@ubuntu:~/Desktop/base/gittest$ git push origin push_branch
    
dd@ubuntu:~/Desktop/gittest$ git ll
* b5580d9 (push_branch) add file 1.1
| * e88ab17 (HEAD -> master) add file 2
|/
* bd06b54 1.0

标签
//git tag 列出标签 
//git tag -l "v1.8.5*"
//git tag -a v1.2 9fceb02 -m "xx" 给指定的commit_id加上标签
//git push origin <tagname>。标签不会主动推送到远程服务器,此可以加
//git tag -d v1.4-lw 删除标签
//git push origin --delete <tagname>
 

2.分支

// git branch testing 分支创建
// git checkout testing 分支切换
//git checkout -b test_branch创建并切换分支,相当于上面两句的综合
//git checkout -b test2_branch  e88ab17 可以指定commit创建分支
//git branch -d test2_branch 删除分支
//git merge  test_branch
// git branch 列出分支

dd@ubuntu:~/Desktop/base/gittest$ git ll
* b5580d9 (tag: v1.0, origin/push_branch, push_branch, master) add file 1.1
| * e88ab17 (HEAD -> test_branch, origin/master, origin/HEAD) add file 2
|/
* bd06b54 1.0
dd@ubuntu:~/Desktop/base/gittest$ git checkout master
Switched to branch 'master'
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
dd@ubuntu:~/Desktop/base/gittest$ git ll
* b5580d9 (HEAD -> master, tag: v1.0, origin/push_branch, push_branch) add file 1.1
| * e88ab17 (origin/master, origin/HEAD, test_branch) add file 2
|/
* bd06b54 1.0
dd@ubuntu:~/Desktop/base/gittest$ git merge test_branch
Merge made by the 'recursive' strategy.
 2 | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 2
dd@ubuntu:~/Desktop/base/gittest$ git merge test_branch -m "merge test"
Already up to date.
dd@ubuntu:~/Desktop/base/gittest$ git ll
*   9d07aaf (HEAD -> master) Merge branch 'test_branch'
|\
| * e88ab17 (origin/master, origin/HEAD, test_branch) add file 2
* | b5580d9 (tag: v1.0, origin/push_branch, push_branch) add file 1.1
|/
* bd06b54 1.0


//git push origin --delete serverfix 删除远程分支
//git branch -vv 查看远程分支
//git push origin serverfix 推送远程分支

//git rebase branch_name //提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一样。


3.reset

//git reset commit_id --hard 重置版本,commit_id之后的commit_id都会不见了
//git revert commit_id  -m "xx"还原此commit_id的操作,比如添加了一个文件,那么revert将会减少那个文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值