pip install git
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
cd directory
git init
git add . or git add -A
git commit -m "initial repository"
git remote add origin
git push --set-upstream origin master #把这个repository推到master分支
git push --force origin master:main #如果没有相同历史的需要强行合并
如果这个过程中,github repository 的内容发生改变,则说明github的更新已经超过了本地仓库,则需要先把github仓库拉过来合并,再更新
git pull origin main
git push --set-upstream origin master:main
这样就完成了最基本的功能
1.将本地仓库与远程仓库关联
git remote add origin <GitHub 仓库 URL>
git remote add origin https://github.com/luoclab/test2024_1_18
2.把你的某个分支或者master 推到github中
git push -u origin master
在这里,-u
选项将本地的 master
分支推送到名为 origin
的远程仓库,并且建立了关联。这样一来,以后在执行 git pull
或 git push
时,Git 将知道你是在操作哪个远程仓库和分支,而不必再次指定。
git fetch:从远程仓库下载最新的提交,但并不合并到你的本地分支。这样可以获取远程仓库的最新状态,然后你可以选择是否要将这些更改合并到本地分支。
之后你可以使用git merge来将远程分支和本地分支进行合并
git命令
git clone url
1.进入这个目录
cd /g/repository
2.把这个目录里面的所有内容初始化为一个仓库
git init
1.确定你要更新的文件夹
git add *.c //当前目录下所有的.c文件
git add filename //某个文件名
git add -A //当前目录下所有文件
运行了 git add 之后又作了修改过的文件,需要重新运行 git add 把最新版本重新暂存起来:
2.提交更新
git commit -m "update message"
方式二
直接把所有已经tracked的文件都做更新,而不必用add去管理更新的细节
git commit -a
git status
简化输出
git status --short 等价于 git status -s
方法一:
建立.gitignore文件,然后
# 忽略所有的 .a 文件
*.a
#忽略1.txt文件
1.txt
方法二
git rm filename
git commit -m "rm filename"
//没有删除这个文件,只是不再纳入版本管理了
如果回到了之前状态,那将被重新纳入版本管理中
方法一
1.移出版本管理
git rm filename
git commit -m "rm filename"
//没有删除这个文件,只是不再纳入版本管理了
2.手动在目录中删除文件
如果回到了之前状态,那将被重新纳入版本管理中,并且文件将重新出现
方法二
git rm -f filename
git commit -m "rm filename"
git mv oldname.txt newname.txt
git mv等价于下面的三条命令
mv README.md README $ git rm README.md $ git add README
如果直接在文件中重命名,那么git会认为是删除了2.txt,然后新建了一个文件
新建的文件是untracked的,需要重新纳入到版本管理中,所以还是直接mv来的实在
git log //列出所有记录
git log -p 或 --patch//那个 版本做了哪些修改也列出来
git log -p -2//查看最近两个
git log --pretty=format//以某种格式查看版本记录
查看版本控制和分支的详细信息
git log --pretty=format:"%h %s" --graph
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
这样只会出现一次提交,这次提交会覆盖之前的提交
git checkout -- CONTRIBUTING.md
git checkout -- 是一个危险的命令。你对那个文件在本地的任何修改都会消失